@lemoncat7/dsh-partner 2.8.3 → 2.8.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/README.md +27 -406
- package/docs/bark-notifications.md +27 -0
- package/docs/concern-workflow.md +39 -0
- package/docs/releases/1.12.0.md +16 -0
- package/docs/releases/1.14.2.md +8 -0
- package/docs/releases/1.15.0.md +15 -0
- package/docs/releases/1.16.0.md +15 -0
- package/docs/releases/1.16.1.md +12 -0
- package/docs/releases/1.16.2.md +12 -0
- package/docs/releases/2.0.0.md +19 -0
- package/docs/releases/2.1.0.md +8 -0
- package/docs/releases/2.2.0.md +8 -0
- package/docs/releases/2.3.0.md +8 -0
- package/docs/releases/2.4.0.md +8 -0
- package/docs/releases/2.5.0.md +8 -0
- package/docs/releases/2.8.0.md +6 -0
- package/docs/releases/2.8.4.md +35 -0
- package/docs/releases/README.md +14 -0
- package/lib/agent-runtime.d.ts +1 -0
- package/lib/agent-runtime.d.ts.map +1 -1
- package/lib/agent-runtime.js +14 -5
- package/lib/agent-runtime.js.map +1 -1
- package/lib/api/features/push-api.d.ts +4 -0
- package/lib/api/features/push-api.d.ts.map +1 -0
- package/lib/api/features/push-api.js +47 -0
- package/lib/api/features/push-api.js.map +1 -0
- package/lib/api.d.ts +2 -0
- package/lib/api.d.ts.map +1 -1
- package/lib/api.js +5 -1
- package/lib/api.js.map +1 -1
- package/lib/autonomy.d.ts.map +1 -1
- package/lib/autonomy.js +5 -4
- package/lib/autonomy.js.map +1 -1
- package/lib/client-api.d.ts +1 -0
- package/lib/client-api.d.ts.map +1 -1
- package/lib/client-api.js.map +1 -1
- package/lib/client.d.ts.map +1 -1
- package/lib/client.js +1157 -638
- package/lib/client.js.map +4 -4
- package/lib/collaboration/composition.d.ts.map +1 -1
- package/lib/collaboration/composition.js +1 -0
- package/lib/collaboration/composition.js.map +1 -1
- package/lib/collaboration/ssh-task-access.d.ts +33 -0
- package/lib/collaboration/ssh-task-access.d.ts.map +1 -0
- package/lib/collaboration/ssh-task-access.js +26 -0
- package/lib/collaboration/ssh-task-access.js.map +1 -0
- package/lib/companions/removal.d.ts.map +1 -1
- package/lib/companions/removal.js +4 -0
- package/lib/companions/removal.js.map +1 -1
- package/lib/concern-domain.d.ts +2 -0
- package/lib/concern-domain.d.ts.map +1 -1
- package/lib/concern-domain.js.map +1 -1
- package/lib/concern-execution-notes.d.ts +2 -0
- package/lib/concern-execution-notes.d.ts.map +1 -1
- package/lib/concern-execution-notes.js +9 -2
- package/lib/concern-execution-notes.js.map +1 -1
- package/lib/concern-execution-receipt.d.ts.map +1 -1
- package/lib/concern-execution-receipt.js +3 -2
- package/lib/concern-execution-receipt.js.map +1 -1
- package/lib/concern-execution.d.ts.map +1 -1
- package/lib/concern-execution.js +1 -0
- package/lib/concern-execution.js.map +1 -1
- package/lib/concern-knowledge-source.d.ts +23 -0
- package/lib/concern-knowledge-source.d.ts.map +1 -0
- package/lib/concern-knowledge-source.js +30 -0
- package/lib/concern-knowledge-source.js.map +1 -0
- package/lib/concern-note-source.d.ts +2 -1
- package/lib/concern-note-source.d.ts.map +1 -1
- package/lib/concern-note-source.js +6 -2
- package/lib/concern-note-source.js.map +1 -1
- package/lib/concern-store.d.ts.map +1 -1
- package/lib/concern-store.js +5 -0
- package/lib/concern-store.js.map +1 -1
- package/lib/domain.d.ts +2 -0
- package/lib/domain.d.ts.map +1 -1
- package/lib/domain.js.map +1 -1
- package/lib/index.d.ts.map +1 -1
- package/lib/index.js +18 -1
- package/lib/index.js.map +1 -1
- package/lib/notifications/bark-adapter.d.ts +9 -0
- package/lib/notifications/bark-adapter.d.ts.map +1 -0
- package/lib/notifications/bark-adapter.js +69 -0
- package/lib/notifications/bark-adapter.js.map +1 -0
- package/lib/notifications/push-config.d.ts +10 -0
- package/lib/notifications/push-config.d.ts.map +1 -0
- package/lib/notifications/push-config.js +79 -0
- package/lib/notifications/push-config.js.map +1 -0
- package/lib/notifications/push-credentials.d.ts +9 -0
- package/lib/notifications/push-credentials.d.ts.map +1 -0
- package/lib/notifications/push-credentials.js +16 -0
- package/lib/notifications/push-credentials.js.map +1 -0
- package/lib/notifications/push-domain.d.ts +66 -0
- package/lib/notifications/push-domain.d.ts.map +1 -0
- package/lib/notifications/push-domain.js +6 -0
- package/lib/notifications/push-domain.js.map +1 -0
- package/lib/notifications/push-observer.d.ts +19 -0
- package/lib/notifications/push-observer.d.ts.map +1 -0
- package/lib/notifications/push-observer.js +96 -0
- package/lib/notifications/push-observer.js.map +1 -0
- package/lib/notifications/push-service.d.ts +33 -0
- package/lib/notifications/push-service.d.ts.map +1 -0
- package/lib/notifications/push-service.js +228 -0
- package/lib/notifications/push-service.js.map +1 -0
- package/lib/notifications/push-state.d.ts +3 -0
- package/lib/notifications/push-state.d.ts.map +1 -0
- package/lib/notifications/push-state.js +23 -0
- package/lib/notifications/push-state.js.map +1 -0
- package/lib/observation-budget.d.ts +3 -2
- package/lib/observation-budget.d.ts.map +1 -1
- package/lib/observation-budget.js +5 -3
- package/lib/observation-budget.js.map +1 -1
- package/lib/observation-loop.d.ts +1 -0
- package/lib/observation-loop.d.ts.map +1 -1
- package/lib/observation-loop.js +129 -21
- package/lib/observation-loop.js.map +1 -1
- package/lib/observation-model-retry.d.ts +20 -0
- package/lib/observation-model-retry.d.ts.map +1 -0
- package/lib/observation-model-retry.js +48 -0
- package/lib/observation-model-retry.js.map +1 -0
- package/lib/observation-progress.d.ts +1 -0
- package/lib/observation-progress.d.ts.map +1 -1
- package/lib/observation-progress.js +24 -4
- package/lib/observation-progress.js.map +1 -1
- package/lib/observation-workflow.d.ts +40 -0
- package/lib/observation-workflow.d.ts.map +1 -0
- package/lib/observation-workflow.js +154 -0
- package/lib/observation-workflow.js.map +1 -0
- package/lib/recording-snapshot.d.ts.map +1 -1
- package/lib/recording-snapshot.js +12 -2
- package/lib/recording-snapshot.js.map +1 -1
- package/lib/storage/migrate-layout.d.ts.map +1 -1
- package/lib/storage/migrate-layout.js +2 -0
- package/lib/storage/migrate-layout.js.map +1 -1
- package/lib/storage/split-state.js +2 -2
- package/lib/storage/split-state.js.map +1 -1
- package/lib/store.d.ts.map +1 -1
- package/lib/store.js +2 -0
- package/lib/store.js.map +1 -1
- package/lib/ui/capability-editor.d.ts.map +1 -1
- package/lib/ui/capability-editor.js +3 -5
- package/lib/ui/capability-editor.js.map +1 -1
- package/lib/ui/channels-panel.d.ts.map +1 -1
- package/lib/ui/channels-panel.js +7 -1
- package/lib/ui/channels-panel.js.map +1 -1
- package/lib/ui/push-channels.d.ts +11 -0
- package/lib/ui/push-channels.d.ts.map +1 -0
- package/lib/ui/push-channels.js +28 -0
- package/lib/ui/push-channels.js.map +1 -0
- package/lib/ui/push-draft.d.ts +30 -0
- package/lib/ui/push-draft.d.ts.map +1 -0
- package/lib/ui/push-draft.js +13 -0
- package/lib/ui/push-draft.js.map +1 -0
- package/lib/ui/push-editor.d.ts +10 -0
- package/lib/ui/push-editor.d.ts.map +1 -0
- package/lib/ui/push-editor.js +99 -0
- package/lib/ui/push-editor.js.map +1 -0
- package/lib/ui/runtime-settings.d.ts +18 -0
- package/lib/ui/runtime-settings.d.ts.map +1 -0
- package/lib/ui/runtime-settings.js +25 -0
- package/lib/ui/runtime-settings.js.map +1 -0
- package/lib/ui/workspace-components.d.ts +7 -1
- package/lib/ui/workspace-components.d.ts.map +1 -1
- package/lib/ui/workspace-components.js +8 -4
- package/lib/ui/workspace-components.js.map +1 -1
- package/package.json +4 -1
package/lib/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import type { PushAdapter } from './push-domain.js';
|
|
2
|
+
export declare class PushSendError extends Error {
|
|
3
|
+
readonly retryable: boolean;
|
|
4
|
+
constructor(message: string, retryable?: boolean);
|
|
5
|
+
}
|
|
6
|
+
/** Permit explicitly configured LAN servers, but never forward a device key
|
|
7
|
+
* through redirects or put it in a URL/access log. TLS verification stays on. */
|
|
8
|
+
export declare const barkAdapter: PushAdapter;
|
|
9
|
+
//# sourceMappingURL=bark-adapter.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"bark-adapter.d.ts","sourceRoot":"","sources":["../../src/notifications/bark-adapter.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAA;AAEnD,qBAAa,aAAc,SAAQ,KAAK;IACT,QAAQ,CAAC,SAAS;gBAAnC,OAAO,EAAE,MAAM,EAAW,SAAS,UAAO;CACvD;AAED;iFACiF;AACjF,eAAO,MAAM,WAAW,EAAE,WAqCzB,CAAA"}
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
export class PushSendError extends Error {
|
|
2
|
+
retryable;
|
|
3
|
+
constructor(message, retryable = true) {
|
|
4
|
+
super(message);
|
|
5
|
+
this.retryable = retryable;
|
|
6
|
+
}
|
|
7
|
+
}
|
|
8
|
+
/** Permit explicitly configured LAN servers, but never forward a device key
|
|
9
|
+
* through redirects or put it in a URL/access log. TLS verification stays on. */
|
|
10
|
+
export const barkAdapter = {
|
|
11
|
+
async send(channel, deviceKey, payload, signal) {
|
|
12
|
+
try {
|
|
13
|
+
const response = await fetch(`${channel.baseUrl}/push`, {
|
|
14
|
+
method: 'POST', redirect: 'error', signal: AbortSignal.any([signal, AbortSignal.timeout(12_000)]),
|
|
15
|
+
headers: { 'content-type': 'application/json' },
|
|
16
|
+
body: JSON.stringify({ device_key: deviceKey, title: payload.title, body: payload.body,
|
|
17
|
+
group: channel.group || 'DSH 伙伴', isArchive: '1',
|
|
18
|
+
...(channel.sound ? { sound: channel.sound } : {}), ...(channel.openUrl ? { url: channel.openUrl } : {}) }),
|
|
19
|
+
});
|
|
20
|
+
if (!response.ok) {
|
|
21
|
+
await response.body?.cancel();
|
|
22
|
+
throw new PushSendError(`Bark 服务返回 HTTP ${response.status}`, response.status === 408 || response.status === 429 || response.status >= 500);
|
|
23
|
+
}
|
|
24
|
+
const reader = response.body?.getReader();
|
|
25
|
+
if (!reader)
|
|
26
|
+
throw new PushSendError('Bark 响应为空', false);
|
|
27
|
+
const parts = [];
|
|
28
|
+
let size = 0;
|
|
29
|
+
try {
|
|
30
|
+
while (true) {
|
|
31
|
+
const part = await reader.read();
|
|
32
|
+
if (part.done)
|
|
33
|
+
break;
|
|
34
|
+
size += part.value.byteLength;
|
|
35
|
+
if (size > 65_536)
|
|
36
|
+
throw new PushSendError('Bark 响应过大,请检查服务器地址', false);
|
|
37
|
+
parts.push(part.value);
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
finally {
|
|
41
|
+
await reader.cancel().catch(() => { });
|
|
42
|
+
}
|
|
43
|
+
let data;
|
|
44
|
+
try {
|
|
45
|
+
data = JSON.parse(Buffer.concat(parts).toString('utf8'));
|
|
46
|
+
}
|
|
47
|
+
catch {
|
|
48
|
+
throw new PushSendError('响应不是 Bark JSON,请检查反向代理和服务器地址', false);
|
|
49
|
+
}
|
|
50
|
+
if (!data || typeof data !== 'object' || Array.isArray(data))
|
|
51
|
+
throw new PushSendError('响应不是 Bark JSON,请检查反向代理和服务器地址', false);
|
|
52
|
+
if (data.code !== 200)
|
|
53
|
+
throw new PushSendError(`Bark 未接受通知(code ${typeof data.code === 'number' ? data.code : '无效'}),请检查设备 Key`, data.code === 429 || (typeof data.code === 'number' && data.code >= 500));
|
|
54
|
+
}
|
|
55
|
+
catch (error) {
|
|
56
|
+
if (error instanceof PushSendError)
|
|
57
|
+
throw error;
|
|
58
|
+
const code = error?.cause?.code ?? '';
|
|
59
|
+
if (/CERT|TLS|SSL/.test(code))
|
|
60
|
+
throw new PushSendError('Bark TLS 证书校验失败,请检查证书及域名', false);
|
|
61
|
+
if (code === 'ENOTFOUND')
|
|
62
|
+
throw new PushSendError('无法解析 Bark 域名,请检查服务端 DNS');
|
|
63
|
+
if (code === 'ECONNREFUSED')
|
|
64
|
+
throw new PushSendError('Bark 连接被拒绝,请检查端口和反向代理');
|
|
65
|
+
throw new PushSendError('Bark 请求超时或网络不可达,请检查 DSH 服务端到该地址的连接');
|
|
66
|
+
}
|
|
67
|
+
},
|
|
68
|
+
};
|
|
69
|
+
//# sourceMappingURL=bark-adapter.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"bark-adapter.js","sourceRoot":"","sources":["../../src/notifications/bark-adapter.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import type { PushChannel } from './push-domain.js';
|
|
2
|
+
export declare function pushUrl(value: string): string;
|
|
3
|
+
export declare function parsePushChannel(raw: Record<string, unknown>, companionId: string, previous?: PushChannel): {
|
|
4
|
+
channel: PushChannel;
|
|
5
|
+
secrets: {
|
|
6
|
+
id: string;
|
|
7
|
+
key: string;
|
|
8
|
+
}[];
|
|
9
|
+
};
|
|
10
|
+
//# sourceMappingURL=push-config.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"push-config.d.ts","sourceRoot":"","sources":["../../src/notifications/push-config.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,WAAW,EAAc,MAAM,kBAAkB,CAAA;AAO/D,wBAAgB,OAAO,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAK7C;AACD,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,WAAW,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,WAAW;;;YAI7E,MAAM;aAAO,MAAM;;EAkC/C"}
|
|
@@ -0,0 +1,79 @@
|
|
|
1
|
+
import { createHash, randomUUID } from 'node:crypto';
|
|
2
|
+
import { httpError } from '../api/http.js';
|
|
3
|
+
const text = (value, label, max, fallback = '') => {
|
|
4
|
+
if (value === undefined)
|
|
5
|
+
return fallback;
|
|
6
|
+
if (typeof value !== 'string' || value.length > max)
|
|
7
|
+
throw httpError(400, `${label}无效,最多 ${max} 字符`);
|
|
8
|
+
return value.trim();
|
|
9
|
+
};
|
|
10
|
+
export function pushUrl(value) {
|
|
11
|
+
let url;
|
|
12
|
+
try {
|
|
13
|
+
url = new URL(value);
|
|
14
|
+
}
|
|
15
|
+
catch {
|
|
16
|
+
throw httpError(400, '请填写完整的 http:// 或 https:// 服务器地址');
|
|
17
|
+
}
|
|
18
|
+
if (!['https:', 'http:'].includes(url.protocol) || url.username || url.password || url.search || url.hash)
|
|
19
|
+
throw httpError(400, '服务器地址不支持账号、查询参数或片段');
|
|
20
|
+
return url.toString().replace(/\/+$/, '');
|
|
21
|
+
}
|
|
22
|
+
export function parsePushChannel(raw, companionId, previous) {
|
|
23
|
+
if (raw.platform !== undefined && raw.platform !== 'bark')
|
|
24
|
+
throw httpError(400, '暂不支持该推送平台');
|
|
25
|
+
const baseUrl = pushUrl(text(raw.baseUrl, '服务器地址', 4096));
|
|
26
|
+
if (!Array.isArray(raw.targets) || !raw.targets.length || raw.targets.length > 50)
|
|
27
|
+
throw httpError(400, '请配置 1–50 个发送目标');
|
|
28
|
+
const secrets = [];
|
|
29
|
+
const seen = new Set(), ids = new Set();
|
|
30
|
+
const targets = raw.targets.map((value) => {
|
|
31
|
+
if (!value || typeof value !== 'object')
|
|
32
|
+
throw httpError(400, '发送目标格式无效');
|
|
33
|
+
const item = value;
|
|
34
|
+
const old = previous?.targets.find(t => t.id === item.id);
|
|
35
|
+
if (item.id && !old)
|
|
36
|
+
throw httpError(400, '发送目标已变化,请重新打开配置');
|
|
37
|
+
const id = old?.id ?? `target-${randomUUID()}`;
|
|
38
|
+
if (ids.has(id))
|
|
39
|
+
throw httpError(400, '发送目标重复');
|
|
40
|
+
ids.add(id);
|
|
41
|
+
const key = text(item.key, 'Device Key', 512);
|
|
42
|
+
if (!key && !old)
|
|
43
|
+
throw httpError(400, '请填写设备 Key');
|
|
44
|
+
if (key && !/^[A-Za-z0-9_-]+$/.test(key))
|
|
45
|
+
throw httpError(400, '设备 Key 只能包含字母、数字、下划线和连字符;完整地址请使用粘贴导入');
|
|
46
|
+
const fingerprint = key ? createHash('sha256').update(key).digest('hex') : old.fingerprint;
|
|
47
|
+
if (seen.has(fingerprint))
|
|
48
|
+
throw httpError(400, '同一服务器中不能重复添加相同设备 Key');
|
|
49
|
+
seen.add(fingerprint);
|
|
50
|
+
const credentialId = key ? `push-${randomUUID()}` : old.credentialId;
|
|
51
|
+
if (key)
|
|
52
|
+
secrets.push({ id: credentialId, key });
|
|
53
|
+
return { id, name: text(item.name, '设备名称', 80) || '我的设备', enabled: item.enabled !== false, credentialId, fingerprint };
|
|
54
|
+
});
|
|
55
|
+
const openUrl = text(raw.openUrl, '点击跳转地址', 4096);
|
|
56
|
+
if (openUrl) {
|
|
57
|
+
let url;
|
|
58
|
+
try {
|
|
59
|
+
url = new URL(openUrl);
|
|
60
|
+
}
|
|
61
|
+
catch {
|
|
62
|
+
throw httpError(400, '点击跳转地址无效');
|
|
63
|
+
}
|
|
64
|
+
if (!['http:', 'https:'].includes(url.protocol) || url.username || url.password)
|
|
65
|
+
throw httpError(400, '点击跳转地址只支持 HTTP/HTTPS,不能包含账号密码');
|
|
66
|
+
}
|
|
67
|
+
const sound = text(raw.sound, '提示音', 80);
|
|
68
|
+
if (sound && !/^[a-zA-Z0-9_-]+$/.test(sound))
|
|
69
|
+
throw httpError(400, '提示音名称无效');
|
|
70
|
+
const now = Date.now();
|
|
71
|
+
const channel = {
|
|
72
|
+
id: previous?.id ?? `push-${randomUUID()}`, companionId, platform: 'bark', name: text(raw.name, '渠道名称', 80) || 'Bark',
|
|
73
|
+
baseUrl, enabled: raw.enabled !== false, revision: (previous?.revision ?? 0) + 1,
|
|
74
|
+
targets, notifyProblems: raw.notifyProblems === true, content: raw.content === 'title' ? 'title' : 'summary',
|
|
75
|
+
group: text(raw.group, '通知分组', 80), sound, openUrl, createdAt: previous?.createdAt ?? now, updatedAt: now,
|
|
76
|
+
};
|
|
77
|
+
return { channel, secrets };
|
|
78
|
+
}
|
|
79
|
+
//# sourceMappingURL=push-config.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"push-config.js","sourceRoot":"","sources":["../../src/notifications/push-config.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { type CredentialProvider } from '@deepseek-ai/dsh-credentials';
|
|
2
|
+
export declare class PushCredentials {
|
|
3
|
+
private readonly provider;
|
|
4
|
+
constructor(provider: CredentialProvider);
|
|
5
|
+
read(id: string): Promise<string>;
|
|
6
|
+
write(id: string, key: string): Promise<void>;
|
|
7
|
+
delete(id: string): Promise<void>;
|
|
8
|
+
}
|
|
9
|
+
//# sourceMappingURL=push-credentials.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"push-credentials.d.ts","sourceRoot":"","sources":["../../src/notifications/push-credentials.ts"],"names":[],"mappings":"AAAA,OAAO,EAAiB,KAAK,kBAAkB,EAAE,MAAM,8BAA8B,CAAA;AACrF,qBAAa,eAAe;IACd,OAAO,CAAC,QAAQ,CAAC,QAAQ;gBAAR,QAAQ,EAAE,kBAAkB;IACnD,IAAI,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAKjC,KAAK,CAAC,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAC7C,MAAM,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;CACxC"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { credentialKey } from '@deepseek-ai/dsh-credentials';
|
|
2
|
+
export class PushCredentials {
|
|
3
|
+
provider;
|
|
4
|
+
constructor(provider) {
|
|
5
|
+
this.provider = provider;
|
|
6
|
+
}
|
|
7
|
+
async read(id) {
|
|
8
|
+
const record = await this.provider.readRecord(credentialKey('dsh-partner-push', id));
|
|
9
|
+
if (!record || record.kind !== 'grant' || typeof record.payload.key !== 'string')
|
|
10
|
+
throw Error('推送凭据不可用,请重新保存设备 Key');
|
|
11
|
+
return record.payload.key;
|
|
12
|
+
}
|
|
13
|
+
async write(id, key) { await this.provider.modifyRecord(credentialKey('dsh-partner-push', id), async () => ({ kind: 'grant', payload: { key } })); }
|
|
14
|
+
async delete(id) { await this.provider.deleteRecord(credentialKey('dsh-partner-push', id)); }
|
|
15
|
+
}
|
|
16
|
+
//# sourceMappingURL=push-credentials.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"push-credentials.js","sourceRoot":"","sources":["../../src/notifications/push-credentials.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAA2B,MAAM,8BAA8B,CAAA;AACrF,MAAM,OAAO,eAAe;IACG;IAA7B,YAA6B,QAA4B;QAA5B,aAAQ,GAAR,QAAQ,CAAoB;IAAG,CAAC;IAC7D,KAAK,CAAC,IAAI,CAAC,EAAU;QACnB,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,aAAa,CAAC,kBAAkB,EAAE,EAAE,CAAC,CAAC,CAAA;QACpF,IAAI,CAAC,MAAM,IAAI,MAAM,CAAC,IAAI,KAAK,OAAO,IAAI,OAAQ,MAAM,CAAC,OAA6B,CAAC,GAAG,KAAK,QAAQ;YAAE,MAAM,KAAK,CAAC,qBAAqB,CAAC,CAAA;QAC3I,OAAQ,MAAM,CAAC,OAA2B,CAAC,GAAG,CAAA;IAChD,CAAC;IACD,KAAK,CAAC,KAAK,CAAC,EAAU,EAAE,GAAW,IAAmB,MAAM,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,aAAa,CAAC,kBAAkB,EAAE,EAAE,CAAC,EAAE,KAAK,IAAI,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,EAAE,GAAG,EAAE,EAAE,CAAC,CAAC,CAAA,CAAC,CAAC;IAClL,KAAK,CAAC,MAAM,CAAC,EAAU,IAAmB,MAAM,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,aAAa,CAAC,kBAAkB,EAAE,EAAE,CAAC,CAAC,CAAA,CAAC,CAAC;CACpH"}
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
/** Single-direction channels share delivery semantics, not chat pairing. */
|
|
2
|
+
export interface PushTarget {
|
|
3
|
+
id: string;
|
|
4
|
+
name: string;
|
|
5
|
+
enabled: boolean;
|
|
6
|
+
credentialId: string;
|
|
7
|
+
fingerprint: string;
|
|
8
|
+
}
|
|
9
|
+
export interface PushChannel {
|
|
10
|
+
id: string;
|
|
11
|
+
companionId: string;
|
|
12
|
+
platform: 'bark';
|
|
13
|
+
name: string;
|
|
14
|
+
baseUrl: string;
|
|
15
|
+
enabled: boolean;
|
|
16
|
+
revision: number;
|
|
17
|
+
createdAt: number;
|
|
18
|
+
updatedAt: number;
|
|
19
|
+
targets: PushTarget[];
|
|
20
|
+
notifyProblems: boolean;
|
|
21
|
+
content: 'summary' | 'title';
|
|
22
|
+
group: string;
|
|
23
|
+
sound: string;
|
|
24
|
+
openUrl: string;
|
|
25
|
+
}
|
|
26
|
+
export interface PushEvent {
|
|
27
|
+
id: string;
|
|
28
|
+
companionId: string;
|
|
29
|
+
title: string;
|
|
30
|
+
text: string;
|
|
31
|
+
createdAt: number;
|
|
32
|
+
outcome: 'completed' | 'problem';
|
|
33
|
+
}
|
|
34
|
+
export interface PushDelivery {
|
|
35
|
+
id: string;
|
|
36
|
+
companionId: string;
|
|
37
|
+
eventId: string;
|
|
38
|
+
channelId: string;
|
|
39
|
+
targetId: string;
|
|
40
|
+
revision: number;
|
|
41
|
+
title: string;
|
|
42
|
+
body: string;
|
|
43
|
+
createdAt: number;
|
|
44
|
+
updatedAt: number;
|
|
45
|
+
nextAttemptAt: number;
|
|
46
|
+
expiresAt?: number;
|
|
47
|
+
status: 'pending' | 'sending' | 'accepted' | 'failed' | 'canceled';
|
|
48
|
+
attempts: number;
|
|
49
|
+
lastError?: string;
|
|
50
|
+
}
|
|
51
|
+
export type PushChannelView = Omit<PushChannel, 'targets'> & {
|
|
52
|
+
targets: Array<Pick<PushTarget, 'id' | 'name' | 'enabled'> & {
|
|
53
|
+
configured: boolean;
|
|
54
|
+
}>;
|
|
55
|
+
pending: number;
|
|
56
|
+
failed: number;
|
|
57
|
+
lastDelivery?: Pick<PushDelivery, 'status' | 'updatedAt' | 'lastError'>;
|
|
58
|
+
};
|
|
59
|
+
export interface PushAdapter {
|
|
60
|
+
send(channel: PushChannel, deviceKey: string, payload: {
|
|
61
|
+
title: string;
|
|
62
|
+
body: string;
|
|
63
|
+
}, signal: AbortSignal): Promise<void>;
|
|
64
|
+
}
|
|
65
|
+
export declare function pushSummary(text: string): string;
|
|
66
|
+
//# sourceMappingURL=push-domain.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"push-domain.d.ts","sourceRoot":"","sources":["../../src/notifications/push-domain.ts"],"names":[],"mappings":"AAAA,4EAA4E;AAC5E,MAAM,WAAW,UAAU;IAAG,EAAE,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,OAAO,CAAC;IAAC,YAAY,EAAE,MAAM,CAAC;IAAC,WAAW,EAAE,MAAM,CAAA;CAAE;AACrH,MAAM,WAAW,WAAW;IAC1B,EAAE,EAAE,MAAM,CAAC;IAAC,WAAW,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;IAChF,OAAO,EAAE,OAAO,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,MAAM,CAAA;IACxE,OAAO,EAAE,UAAU,EAAE,CAAA;IACrB,cAAc,EAAE,OAAO,CAAC;IAAC,OAAO,EAAE,SAAS,GAAG,OAAO,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CACrG;AACD,MAAM,WAAW,SAAS;IACxB,EAAE,EAAE,MAAM,CAAC;IAAC,WAAW,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,MAAM,CAAA;IAC/E,OAAO,EAAE,WAAW,GAAG,SAAS,CAAA;CACjC;AACD,MAAM,WAAW,YAAY;IAC3B,EAAE,EAAE,MAAM,CAAC;IAAC,WAAW,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAA;IACvG,KAAK,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,MAAM,CAAC;IAAC,aAAa,EAAE,MAAM,CAAC;IAAC,SAAS,CAAC,EAAE,MAAM,CAAA;IAC5G,MAAM,EAAE,SAAS,GAAG,SAAS,GAAG,UAAU,GAAG,QAAQ,GAAG,UAAU,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAC;IAAC,SAAS,CAAC,EAAE,MAAM,CAAA;CACzG;AACD,MAAM,MAAM,eAAe,GAAG,IAAI,CAAC,WAAW,EAAE,SAAS,CAAC,GAAG;IAC3D,OAAO,EAAE,KAAK,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,GAAG,MAAM,GAAG,SAAS,CAAC,GAAG;QAAE,UAAU,EAAE,OAAO,CAAA;KAAE,CAAC,CAAA;IACrF,OAAO,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC;IAAC,YAAY,CAAC,EAAE,IAAI,CAAC,YAAY,EAAE,QAAQ,GAAG,WAAW,GAAG,WAAW,CAAC,CAAA;CACzG,CAAA;AACD,MAAM,WAAW,WAAW;IAC1B,IAAI,CAAC,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,EAAE,MAAM,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;CAC5H;AAED,wBAAgB,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAIhD"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
export function pushSummary(text) {
|
|
2
|
+
return text.replace(/```[\s\S]*?```/g, ' [代码或内容详见会话] ')
|
|
3
|
+
.replace(/!?\[([^\]]*)\]\([^)]*\)/g, '$1').replace(/<[^>]+>/g, '')
|
|
4
|
+
.replace(/^[\s#>*-]+/gm, '').replace(/\s+/g, ' ').trim().slice(0, 500);
|
|
5
|
+
}
|
|
6
|
+
//# sourceMappingURL=push-domain.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"push-domain.js","sourceRoot":"","sources":["../../src/notifications/push-domain.ts"],"names":[],"mappings":"AAyBA,MAAM,UAAU,WAAW,CAAC,IAAY;IACtC,OAAO,IAAI,CAAC,OAAO,CAAC,iBAAiB,EAAE,eAAe,CAAC;SACpD,OAAO,CAAC,0BAA0B,EAAE,IAAI,CAAC,CAAC,OAAO,CAAC,UAAU,EAAE,EAAE,CAAC;SACjE,OAAO,CAAC,cAAc,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,CAAA;AAC1E,CAAC"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import type { Session, SessionEvent } from '@deepseek-ai/dsh-session';
|
|
2
|
+
import type { PartnerState } from '../domain.js';
|
|
3
|
+
import type { PartnerStore } from '../store.js';
|
|
4
|
+
import type { PushEvent } from './push-domain.js';
|
|
5
|
+
import type { PushService } from './push-service.js';
|
|
6
|
+
export declare function pushEventsFromChanges(next: PartnerState, previous: PartnerState): PushEvent[];
|
|
7
|
+
export declare class PushObserver {
|
|
8
|
+
private readonly store;
|
|
9
|
+
private readonly push;
|
|
10
|
+
private readonly report;
|
|
11
|
+
private readonly stop;
|
|
12
|
+
private closed;
|
|
13
|
+
private readonly pending;
|
|
14
|
+
constructor(store: PartnerStore, push: PushService, report: () => void);
|
|
15
|
+
private submit;
|
|
16
|
+
observeSession(session: Session, event: SessionEvent): void;
|
|
17
|
+
close(): Promise<void>;
|
|
18
|
+
}
|
|
19
|
+
//# sourceMappingURL=push-observer.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"push-observer.d.ts","sourceRoot":"","sources":["../../src/notifications/push-observer.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,OAAO,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAA;AACrE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,cAAc,CAAA;AAChD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,aAAa,CAAA;AAI/C,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAA;AACjD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAA;AAGpD,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,YAAY,EAAE,QAAQ,EAAE,YAAY,GAAG,SAAS,EAAE,CA8B7F;AAED,qBAAa,YAAY;IAIX,OAAO,CAAC,QAAQ,CAAC,KAAK;IAAgB,OAAO,CAAC,QAAQ,CAAC,IAAI;IAAe,OAAO,CAAC,QAAQ,CAAC,MAAM;IAH7G,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAY;IACjC,OAAO,CAAC,MAAM,CAAQ;IACtB,OAAO,CAAC,QAAQ,CAAC,OAAO,CAA2B;gBACtB,KAAK,EAAE,YAAY,EAAmB,IAAI,EAAE,WAAW,EAAmB,MAAM,EAAE,MAAM,IAAI;IAMzH,OAAO,CAAC,MAAM;IAKd,cAAc,CAAC,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,YAAY,GAAG,IAAI;IAuBrD,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;CAC7B"}
|
|
@@ -0,0 +1,96 @@
|
|
|
1
|
+
import { createHash } from 'node:crypto';
|
|
2
|
+
import { completedTurnEvents } from '../agent-runtime.js';
|
|
3
|
+
import { channelReplyPartsAfter, isAutonomousDeliveryTurn, isRequirementDeliveryReceipt } from '../channels/delivery-policy.js';
|
|
4
|
+
import { continuationFinalReply } from '../scheduler/final-reply.js';
|
|
5
|
+
const digest = (value) => createHash('sha256').update(value).digest('hex').slice(0, 24);
|
|
6
|
+
export function pushEventsFromChanges(next, previous) {
|
|
7
|
+
const events = [];
|
|
8
|
+
const names = new Map(next.companions.map(c => [c.id, c.name]));
|
|
9
|
+
for (const item of next.requirements ?? []) {
|
|
10
|
+
if (!item.ownerCompanionId || !names.has(item.ownerCompanionId))
|
|
11
|
+
continue;
|
|
12
|
+
const old = previous.requirements?.find(r => r.id === item.id);
|
|
13
|
+
if (item.status === 'done' && item.summary && (old?.status !== 'done' || old.summary !== item.summary)) {
|
|
14
|
+
events.push({ id: `requirement:${item.id}:${digest(item.summary)}`, companionId: item.ownerCompanionId,
|
|
15
|
+
title: `${names.get(item.ownerCompanionId)} · 需求完成`, text: `${item.title}\n${item.summary}`, createdAt: item.updatedAt, outcome: 'completed' });
|
|
16
|
+
}
|
|
17
|
+
else if (item.stageReport?.summary && old?.stageReport?.key !== item.stageReport.key
|
|
18
|
+
&& next.tasks.some(t => t.requirementId === item.id && t.status === 'blocked')) {
|
|
19
|
+
events.push({ id: `requirement-blocked:${item.id}:${item.stageReport.key}`, companionId: item.ownerCompanionId,
|
|
20
|
+
title: `${names.get(item.ownerCompanionId)} · 需要处理`, text: item.stageReport.summary, createdAt: item.stageReport.createdAt, outcome: 'problem' });
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
for (const entry of next.schedules) {
|
|
24
|
+
const wake = entry.continuation;
|
|
25
|
+
if (!wake?.finalReply || wake.board || !['completed', 'blocked'].includes(wake.state) || previous.schedules.find(s => s.id === entry.id)?.continuation?.finalReply?.key === wake.finalReply.key)
|
|
26
|
+
continue;
|
|
27
|
+
events.push({ id: `reply:${wake.finalReply.key}`, companionId: entry.companionId,
|
|
28
|
+
title: `${names.get(entry.companionId) ?? '伙伴'} · ${wake.state === 'completed' ? '执行完成' : '需要处理'}`,
|
|
29
|
+
text: wake.finalReply.text, createdAt: Date.now(), outcome: wake.state === 'completed' ? 'completed' : 'problem' });
|
|
30
|
+
}
|
|
31
|
+
for (const run of next.executionRuns) {
|
|
32
|
+
if (run.kind !== 'schedule' || !['completed', 'failed', 'timed-out'].includes(run.status) || previous.executionRuns.find(r => r.id === run.id)?.status === run.status)
|
|
33
|
+
continue;
|
|
34
|
+
const entry = next.schedules.find(s => s.id === run.sourceId);
|
|
35
|
+
if (!entry || entry.continuation || entry.boardTaskId)
|
|
36
|
+
continue;
|
|
37
|
+
events.push({ id: `schedule:${run.id}`, companionId: run.ownerCompanionId, title: `${names.get(run.ownerCompanionId) ?? '伙伴'} · ${entry.title}`,
|
|
38
|
+
text: run.outputSummary || run.error || '定时执行已结束,请查看记录。', createdAt: run.completedAt ?? Date.now(), outcome: run.status === 'completed' ? 'completed' : 'problem' });
|
|
39
|
+
}
|
|
40
|
+
return events;
|
|
41
|
+
}
|
|
42
|
+
export class PushObserver {
|
|
43
|
+
store;
|
|
44
|
+
push;
|
|
45
|
+
report;
|
|
46
|
+
stop;
|
|
47
|
+
closed = false;
|
|
48
|
+
pending = new Set();
|
|
49
|
+
constructor(store, push, report) {
|
|
50
|
+
this.store = store;
|
|
51
|
+
this.push = push;
|
|
52
|
+
this.report = report;
|
|
53
|
+
this.stop = store.subscribe((next, old) => {
|
|
54
|
+
if (!next.pushChannels?.some(c => c.enabled))
|
|
55
|
+
return;
|
|
56
|
+
for (const event of pushEventsFromChanges(next, old))
|
|
57
|
+
this.submit(event);
|
|
58
|
+
}, report);
|
|
59
|
+
}
|
|
60
|
+
submit(event) {
|
|
61
|
+
if (this.closed)
|
|
62
|
+
return;
|
|
63
|
+
const work = this.push.enqueue(event).catch(this.report).finally(() => this.pending.delete(work));
|
|
64
|
+
this.pending.add(work);
|
|
65
|
+
}
|
|
66
|
+
observeSession(session, event) {
|
|
67
|
+
if (this.closed || event.type !== 'turn/end' || event.data.reason.kind !== 'completed')
|
|
68
|
+
return;
|
|
69
|
+
const state = this.store.snapshot();
|
|
70
|
+
const route = state.sessions.find(r => r.sessionId === session.id);
|
|
71
|
+
const companion = state.companions.find(c => c.id === route?.companionId);
|
|
72
|
+
if (!companion || !state.pushChannels?.some(c => c.companionId === companion.id && c.enabled))
|
|
73
|
+
return;
|
|
74
|
+
const history = session.snapshotEvents().filter(e => e.seq < event.seq);
|
|
75
|
+
const turn = completedTurnEvents(history, event);
|
|
76
|
+
const continuation = continuationFinalReply(state.schedules, session.id, history, turn, event);
|
|
77
|
+
if (continuation) {
|
|
78
|
+
const wake = state.schedules.find(s => s.id === continuation.id).continuation;
|
|
79
|
+
this.submit({ id: `reply:${continuation.reply.key}`, companionId: companion.id,
|
|
80
|
+
title: `${companion.name} · ${wake.state === 'completed' ? '执行完成' : '需要处理'}`, text: continuation.reply.text,
|
|
81
|
+
createdAt: Date.now(), outcome: wake.state === 'completed' ? 'completed' : 'problem' });
|
|
82
|
+
return;
|
|
83
|
+
}
|
|
84
|
+
// Requirement delivery has its own single receipt. Internal review/heartbeat
|
|
85
|
+
// turns never become user notifications just because a model turn ended.
|
|
86
|
+
if (turn.some(isRequirementDeliveryReceipt))
|
|
87
|
+
return;
|
|
88
|
+
const parts = channelReplyPartsAfter(turn, -1, isAutonomousDeliveryTurn(turn, history));
|
|
89
|
+
if (!parts.text)
|
|
90
|
+
return;
|
|
91
|
+
this.submit({ id: `reply:${session.id}:${event.data.turn}`, companionId: companion.id,
|
|
92
|
+
title: `${companion.name} · 回复完成`, text: parts.text, createdAt: Date.now(), outcome: 'completed' });
|
|
93
|
+
}
|
|
94
|
+
async close() { this.closed = true; this.stop(); await Promise.all(this.pending); }
|
|
95
|
+
}
|
|
96
|
+
//# sourceMappingURL=push-observer.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"push-observer.js","sourceRoot":"","sources":["../../src/notifications/push-observer.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import type { PartnerStore } from '../store.js';
|
|
2
|
+
import type { PushCredentials } from './push-credentials.js';
|
|
3
|
+
import { type PushAdapter, type PushChannel, type PushChannelView, type PushDelivery, type PushEvent } from './push-domain.js';
|
|
4
|
+
/** Durable outbox independent of chat routing, pairing and conversation speed. */
|
|
5
|
+
export declare class PushService {
|
|
6
|
+
private readonly store;
|
|
7
|
+
private readonly vault;
|
|
8
|
+
private readonly report;
|
|
9
|
+
private readonly adapters;
|
|
10
|
+
private readonly shutdown;
|
|
11
|
+
private timer?;
|
|
12
|
+
private running?;
|
|
13
|
+
private writes;
|
|
14
|
+
constructor(store: PartnerStore, vault: PushCredentials, report: (message: string) => void, adapters?: Readonly<Record<string, PushAdapter>>);
|
|
15
|
+
views(companionId?: string): PushChannelView[];
|
|
16
|
+
require(id: string): PushChannel;
|
|
17
|
+
private serial;
|
|
18
|
+
save(companionId: string, raw: Record<string, unknown>, id?: string): Promise<PushChannelView>;
|
|
19
|
+
remove(id: string): Promise<void>;
|
|
20
|
+
removeOwner(id: string): Promise<void>;
|
|
21
|
+
deliveries(id: string): PushDelivery[];
|
|
22
|
+
clearHistory(id: string): Promise<void>;
|
|
23
|
+
retry(id: string, rowId: string): Promise<void>;
|
|
24
|
+
test(id: string, targetId: string): Promise<void>;
|
|
25
|
+
enqueue(event: PushEvent): Promise<void>;
|
|
26
|
+
start(): Promise<void>;
|
|
27
|
+
private kick;
|
|
28
|
+
flush(): Promise<void>;
|
|
29
|
+
private send;
|
|
30
|
+
private patch;
|
|
31
|
+
close(): Promise<void>;
|
|
32
|
+
}
|
|
33
|
+
//# sourceMappingURL=push-service.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"push-service.d.ts","sourceRoot":"","sources":["../../src/notifications/push-service.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,aAAa,CAAA;AAI/C,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAA;AAC5D,OAAO,EAAe,KAAK,WAAW,EAAE,KAAK,WAAW,EAAE,KAAK,eAAe,EAAE,KAAK,YAAY,EAAE,KAAK,SAAS,EAAE,MAAM,kBAAkB,CAAA;AAE3I,kFAAkF;AAClF,qBAAa,WAAW;IAKV,OAAO,CAAC,QAAQ,CAAC,KAAK;IAAgB,OAAO,CAAC,QAAQ,CAAC,KAAK;IACtE,OAAO,CAAC,QAAQ,CAAC,MAAM;IACvB,OAAO,CAAC,QAAQ,CAAC,QAAQ;IAN3B,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAwB;IACjD,OAAO,CAAC,KAAK,CAAC,CAAgC;IAC9C,OAAO,CAAC,OAAO,CAAC,CAAe;IAC/B,OAAO,CAAC,MAAM,CAAsC;gBACvB,KAAK,EAAE,YAAY,EAAmB,KAAK,EAAE,eAAe,EACtE,MAAM,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,EACjC,QAAQ,GAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC,CAAyB;IAE1F,KAAK,CAAC,WAAW,CAAC,EAAE,MAAM,GAAG,eAAe,EAAE;IAU9C,OAAO,CAAC,EAAE,EAAE,MAAM,GAAG,WAAW;IAKhC,OAAO,CAAC,MAAM;IAKd,IAAI,CAAC,WAAW,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,EAAE,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,eAAe,CAAC;IAuB9F,MAAM,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAU3B,WAAW,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAG5C,UAAU,CAAC,EAAE,EAAE,MAAM,GAAG,YAAY,EAAE;IAChC,YAAY,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAIvC,KAAK,CAAC,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAU/C,IAAI,CAAC,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAOjD,OAAO,CAAC,KAAK,EAAE,SAAS,GAAG,OAAO,CAAC,IAAI,CAAC;IA0BxC,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAI5B,OAAO,CAAC,IAAI;IACN,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;YAOd,IAAI;YAwBJ,KAAK;IACb,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;CAC7B"}
|