aweshare 0.6.1 → 0.6.3
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.ai.md +6 -0
- package/README.md +7 -4
- package/apps/agent/dist/connection.d.ts +22 -6
- package/apps/agent/dist/connection.js +75 -11
- package/apps/agent/dist/connection.js.map +1 -1
- package/apps/agent/dist/table.d.ts +9 -0
- package/apps/agent/dist/table.js +21 -0
- package/apps/agent/dist/table.js.map +1 -1
- package/apps/consumer/dist/cli.js +87 -10
- package/apps/consumer/dist/cli.js.map +1 -1
- package/apps/consumer/dist/hub.d.ts +4 -2
- package/apps/consumer/dist/hub.js +5 -3
- package/apps/consumer/dist/hub.js.map +1 -1
- package/apps/consumer/dist/ping.d.ts +24 -0
- package/apps/consumer/dist/ping.js +164 -0
- package/apps/consumer/dist/ping.js.map +1 -0
- package/apps/consumer/dist/table.d.ts +38 -4
- package/apps/consumer/dist/table.js +86 -32
- package/apps/consumer/dist/table.js.map +1 -1
- package/apps/hub/dist/cli.js +2 -0
- package/apps/hub/dist/cli.js.map +1 -1
- package/apps/hub/dist/config.d.ts +4 -1
- package/apps/hub/dist/config.js +31 -0
- package/apps/hub/dist/config.js.map +1 -1
- package/apps/hub/dist/consumer.d.ts +5 -1
- package/apps/hub/dist/consumer.js +26 -1
- package/apps/hub/dist/consumer.js.map +1 -1
- package/apps/hub/dist/db.d.ts +7 -0
- package/apps/hub/dist/db.js +22 -5
- package/apps/hub/dist/db.js.map +1 -1
- package/apps/hub/dist/limits.d.ts +6 -0
- package/apps/hub/dist/limits.js +13 -4
- package/apps/hub/dist/limits.js.map +1 -1
- package/apps/hub/dist/local.d.ts +3 -0
- package/apps/hub/dist/local.js +5 -0
- package/apps/hub/dist/local.js.map +1 -1
- package/apps/hub/dist/table.d.ts +8 -0
- package/apps/hub/dist/table.js +20 -0
- package/apps/hub/dist/table.js.map +1 -1
- package/apps/hub/dist/tunnel.d.ts +4 -0
- package/apps/hub/dist/tunnel.js +6 -0
- package/apps/hub/dist/tunnel.js.map +1 -1
- package/package.json +1 -1
- package/packages/producer-core/dist/health.d.ts +10 -0
- package/packages/producer-core/dist/health.js +25 -0
- package/packages/producer-core/dist/health.js.map +1 -1
- package/packages/producer-core/dist/probe.d.ts +9 -0
- package/packages/producer-core/dist/probe.js +40 -0
- package/packages/producer-core/dist/probe.js.map +1 -1
- package/packages/protocol/dist/messages.d.ts +4 -0
- package/packages/protocol/dist/messages.js.map +1 -1
|
@@ -4,3 +4,12 @@ export declare function probeTarget(backend: ResolvedBackend): {
|
|
|
4
4
|
headers: Record<string, string>;
|
|
5
5
|
};
|
|
6
6
|
export declare function probeBody(model: string, protocol?: 'openai' | 'anthropic' | 'responses', login?: boolean): Record<string, unknown>;
|
|
7
|
+
/** Recognize the probe shapes this package builds (and the consumer CLI's
|
|
8
|
+
* ping sends): a single-turn 'ping' with a minimal token cap. Used by the
|
|
9
|
+
* hub to count diagnostic traffic against a per-consumer daily probe budget
|
|
10
|
+
* — a heuristic by necessity (the wire cannot prove intent), so the rule is
|
|
11
|
+
* kept strict: the prompt must be exactly 'ping' and the token cap exactly
|
|
12
|
+
* the probe's. Ordinary requests never match; a user genuinely chatting the
|
|
13
|
+
* word 'ping' one turn at a time does, which the budget's error message
|
|
14
|
+
* names so the denial is never mysterious. */
|
|
15
|
+
export declare function isProbeBody(body: Record<string, unknown>, protocol: 'openai' | 'anthropic' | 'responses'): boolean;
|
|
@@ -51,4 +51,44 @@ export function probeBody(model, protocol = 'openai', login = false) {
|
|
|
51
51
|
}
|
|
52
52
|
return { model, messages: [{ role: 'user', content: 'ping' }], max_tokens: 1, stream: false };
|
|
53
53
|
}
|
|
54
|
+
/** Recognize the probe shapes this package builds (and the consumer CLI's
|
|
55
|
+
* ping sends): a single-turn 'ping' with a minimal token cap. Used by the
|
|
56
|
+
* hub to count diagnostic traffic against a per-consumer daily probe budget
|
|
57
|
+
* — a heuristic by necessity (the wire cannot prove intent), so the rule is
|
|
58
|
+
* kept strict: the prompt must be exactly 'ping' and the token cap exactly
|
|
59
|
+
* the probe's. Ordinary requests never match; a user genuinely chatting the
|
|
60
|
+
* word 'ping' one turn at a time does, which the budget's error message
|
|
61
|
+
* names so the denial is never mysterious. */
|
|
62
|
+
export function isProbeBody(body, protocol) {
|
|
63
|
+
if (protocol === 'responses') {
|
|
64
|
+
// input: one user turn whose content is the bare string or the typed
|
|
65
|
+
// input_text form, both accepted by the responses wire; token cap 1 or
|
|
66
|
+
// absent (login probes must omit max_output_tokens)
|
|
67
|
+
if (!Array.isArray(body.input) || body.input.length !== 1)
|
|
68
|
+
return false;
|
|
69
|
+
const turn = body.input[0];
|
|
70
|
+
if (typeof turn !== 'object' || turn === null || turn.role !== 'user')
|
|
71
|
+
return false;
|
|
72
|
+
const text = typeof turn.content === 'string'
|
|
73
|
+
? turn.content
|
|
74
|
+
: Array.isArray(turn.content) &&
|
|
75
|
+
typeof turn.content[0] === 'object' &&
|
|
76
|
+
turn.content[0] !== null &&
|
|
77
|
+
turn.content[0].type === 'input_text'
|
|
78
|
+
? turn.content[0].text
|
|
79
|
+
: undefined;
|
|
80
|
+
if (text !== 'ping')
|
|
81
|
+
return false;
|
|
82
|
+
const cap = body.max_output_tokens;
|
|
83
|
+
return cap === undefined || cap === 1;
|
|
84
|
+
}
|
|
85
|
+
if (!Array.isArray(body.messages) || body.messages.length !== 1)
|
|
86
|
+
return false;
|
|
87
|
+
const message = body.messages[0];
|
|
88
|
+
return (typeof message === 'object' &&
|
|
89
|
+
message !== null &&
|
|
90
|
+
message.role === 'user' &&
|
|
91
|
+
message.content === 'ping' &&
|
|
92
|
+
body.max_tokens === 1);
|
|
93
|
+
}
|
|
54
94
|
//# sourceMappingURL=probe.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"probe.js","sourceRoot":"","sources":["../src/probe.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,oBAAoB,EAAE,MAAM,kBAAkB,CAAA;AAEvD,MAAM,UAAU,WAAW,CAAC,OAAwB;IAIlD,MAAM,IAAI,GAAG,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAA;IAChD,MAAM,IAAI,GACR,OAAO,CAAC,QAAQ,KAAK,WAAW;QAC9B,CAAC,CAAC,cAAc;QAChB,CAAC,CAAC,OAAO,CAAC,QAAQ,KAAK,WAAW;YAChC,CAAC,CAAC,YAAY;YACd,CAAC,CAAC,mBAAmB,CAAA;IAC3B,MAAM,OAAO,GAA2B,EAAE,cAAc,EAAE,kBAAkB,EAAE,CAAA;IAC9E,IAAI,OAAO,CAAC,KAAK,KAAK,OAAO,EAAE,CAAC;QAC9B,qEAAqE;QACrE,wCAAwC;QACxC,MAAM,EAAE,WAAW,EAAE,SAAS,EAAE,GAAG,oBAAoB,EAAE,CAAA;QACzD,OAAO,CAAC,aAAa,GAAG,UAAU,WAAW,EAAE,CAAA;QAC/C,OAAO,CAAC,oBAAoB,CAAC,GAAG,SAAS,CAAA;QACzC,OAAO,CAAC,aAAa,CAAC,GAAG,wBAAwB,CAAA;QACjD,OAAO,CAAC,UAAU,GAAG,cAAc,CAAA;IACrC,CAAC;SAAM,IAAI,OAAO,CAAC,QAAQ,KAAK,WAAW,EAAE,CAAC;QAC5C,IAAI,OAAO,CAAC,MAAM;YAAE,OAAO,CAAC,WAAW,CAAC,GAAG,OAAO,CAAC,MAAM,CAAA;QACzD,OAAO,CAAC,mBAAmB,CAAC,GAAG,YAAY,CAAA;IAC7C,CAAC;SAAM,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;QAC1B,OAAO,CAAC,aAAa,GAAG,UAAU,OAAO,CAAC,MAAM,EAAE,CAAA;IACpD,CAAC;IACD,OAAO,EAAE,GAAG,EAAE,IAAI,GAAG,IAAI,EAAE,OAAO,EAAE,CAAA;AACtC,CAAC;AAED,MAAM,UAAU,SAAS,CACvB,KAAa,EACb,WAAiD,QAAQ,EACzD,KAAK,GAAG,KAAK;IAEb,IAAI,QAAQ,KAAK,WAAW,EAAE,CAAC;QAC7B,uEAAuE;QACvE,yEAAyE;QACzE,oEAAoE;QACpE,IAAI,KAAK,EAAE,CAAC;YACV,OAAO;gBACL,KAAK;gBACL,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC;gBAC1C,MAAM,EAAE,IAAI;gBACZ,KAAK,EAAE,KAAK;aACb,CAAA;QACH,CAAC;QACD,OAAO;YACL,KAAK;YACL,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC;YAC1C,iBAAiB,EAAE,CAAC;YACpB,MAAM,EAAE,KAAK;YACb,oEAAoE;YACpE,yCAAyC;YACzC,KAAK,EAAE,KAAK;SACb,CAAA;IACH,CAAC;IACD,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC,EAAE,UAAU,EAAE,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,CAAA;AAC/F,CAAC"}
|
|
1
|
+
{"version":3,"file":"probe.js","sourceRoot":"","sources":["../src/probe.ts"],"names":[],"mappings":"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"}
|
|
@@ -30,6 +30,10 @@ export interface BackendStatus {
|
|
|
30
30
|
state: BackendState;
|
|
31
31
|
/** Failure class when degraded: AUTH | QUOTA | HTTP | NETWORK | CANCELLED */
|
|
32
32
|
reason?: string;
|
|
33
|
+
/** Epoch ms of the last successful upstream interaction (a relayed request
|
|
34
|
+
* or a recovery probe); absent when the backend has never succeeded. Only
|
|
35
|
+
* meaningful on 'ok' entries — the hub's freshness evidence for consumers. */
|
|
36
|
+
lastOkAt?: number;
|
|
33
37
|
}
|
|
34
38
|
export interface RegisterMessage {
|
|
35
39
|
type: 'register';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"messages.js","sourceRoot":"","sources":["../src/messages.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,CAAA;AAI7B,MAAM,CAAC,MAAM,SAAS,GAAwB,CAAC,QAAQ,EAAE,WAAW,EAAE,WAAW,CAAC,CAAA;AAElF;;;;;GAKG;AACH,MAAM,CAAC,MAAM,eAAe,GAA6B;IACvD,MAAM,EAAE,aAAa;IACrB,SAAS,EAAE,kBAAkB;IAC7B,SAAS,EAAE,WAAW;CACvB,CAAA;AAED,gFAAgF;AAChF,MAAM,UAAU,aAAa,CAAC,QAAgB;IAC5C,OAAQ,eAA0C,CAAC,QAAQ,CAAC,IAAI,QAAQ,CAAA;AAC1E,CAAC;
|
|
1
|
+
{"version":3,"file":"messages.js","sourceRoot":"","sources":["../src/messages.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,CAAA;AAI7B,MAAM,CAAC,MAAM,SAAS,GAAwB,CAAC,QAAQ,EAAE,WAAW,EAAE,WAAW,CAAC,CAAA;AAElF;;;;;GAKG;AACH,MAAM,CAAC,MAAM,eAAe,GAA6B;IACvD,MAAM,EAAE,aAAa;IACrB,SAAS,EAAE,kBAAkB;IAC7B,SAAS,EAAE,WAAW;CACvB,CAAA;AAED,gFAAgF;AAChF,MAAM,UAAU,aAAa,CAAC,QAAgB;IAC5C,OAAQ,eAA0C,CAAC,QAAQ,CAAC,IAAI,QAAQ,CAAA;AAC1E,CAAC;AAqHD,MAAM,WAAW,GAAG,IAAI,GAAG,CAAS;IAClC,UAAU;IACV,WAAW;IACX,eAAe;IACf,cAAc;IACd,gBAAgB;IAChB,OAAO;IACP,YAAY;IACZ,eAAe;IACf,aAAa;IACb,gBAAgB;CACjB,CAAC,CAAA;AAEF,yEAAyE;AACzE,MAAM,UAAU,mBAAmB,CAAC,GAAW;IAC7C,IAAI,MAAe,CAAA;IACnB,IAAI,CAAC;QACH,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;IAC1B,CAAC;IAAC,MAAM,CAAC;QACP,MAAM,IAAI,KAAK,CAAC,iCAAiC,CAAC,CAAA;IACpD,CAAC;IACD,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,MAAM,KAAK,IAAI,EAAE,CAAC;QAClD,MAAM,IAAI,KAAK,CAAC,gCAAgC,CAAC,CAAA;IACnD,CAAC;IACD,MAAM,IAAI,GAAI,MAA6B,CAAC,IAAI,CAAA;IAChD,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;QACvD,MAAM,IAAI,KAAK,CAAC,iCAAiC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;IAClE,CAAC;IACD,OAAO,MAAwB,CAAA;AACjC,CAAC"}
|