@seamward/collector 0.1.0-alpha.2 → 0.1.0-alpha.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.md +18 -10
- package/dist/connect.d.ts +10 -26
- package/dist/connect.js +19 -31
- package/dist/connect.js.map +1 -1
- package/dist/observe.d.ts +1 -1
- package/dist/observe.js.map +1 -1
- package/dist/shipper.d.ts +4 -6
- package/dist/shipper.js +3 -11
- package/dist/shipper.js.map +1 -1
- package/package.json +8 -8
package/README.md
CHANGED
|
@@ -12,10 +12,10 @@ runtime collectors are not shipped yet.
|
|
|
12
12
|
|
|
13
13
|
In Seamward:
|
|
14
14
|
|
|
15
|
-
1. Open the workspace and create
|
|
16
|
-
2.
|
|
17
|
-
3.
|
|
18
|
-
4.
|
|
15
|
+
1. Open the workspace and create or open an integration.
|
|
16
|
+
2. Choose its auto-managed Development, Staging, or Production environment.
|
|
17
|
+
3. Copy the public Connection key from the integration's **Collector setup** tab.
|
|
18
|
+
4. Issue its ingest token and copy it immediately. The token is shown once.
|
|
19
19
|
|
|
20
20
|
The Connection key contains public routing identifiers and grants no access by
|
|
21
21
|
itself. The ingest token is a write-only secret: keep it in the backend secret
|
|
@@ -39,7 +39,11 @@ SEAMWARD_HTTP_API_CONNECTION_KEY=sw_conn_v1.replace_http_api
|
|
|
39
39
|
SEAMWARD_QUEUE_PUBLISH_CONNECTION_KEY=sw_conn_v1.replace_queue_publish
|
|
40
40
|
SEAMWARD_QUEUE_CONSUME_CONNECTION_KEY=sw_conn_v1.replace_queue_consume
|
|
41
41
|
SEAMWARD_FEED_EXPORT_CONNECTION_KEY=sw_conn_v1.replace_feed_export
|
|
42
|
-
|
|
42
|
+
SEAMWARD_WEBHOOK_INGEST_TOKEN=sw_ing_replace_webhook
|
|
43
|
+
SEAMWARD_HTTP_API_INGEST_TOKEN=sw_ing_replace_http_api
|
|
44
|
+
SEAMWARD_QUEUE_PUBLISH_INGEST_TOKEN=sw_ing_replace_queue_publish
|
|
45
|
+
SEAMWARD_QUEUE_CONSUME_INGEST_TOKEN=sw_ing_replace_queue_consume
|
|
46
|
+
SEAMWARD_FEED_EXPORT_INGEST_TOKEN=sw_ing_replace_feed_export
|
|
43
47
|
```
|
|
44
48
|
|
|
45
49
|
`SEAMWARD_INGEST_URL` is optional and only needed for a self-hosted Seamward
|
|
@@ -48,16 +52,15 @@ otherwise uses `https://api.seamward.com/ingest`.
|
|
|
48
52
|
|
|
49
53
|
Create one collector per Integration boundary. An Integration has one direction
|
|
50
54
|
and one protocol. Processes that observe multiple boundaries create a collector
|
|
51
|
-
for each Connection key and
|
|
52
|
-
token:
|
|
55
|
+
for each Connection key and use that Integration's ingest token:
|
|
53
56
|
|
|
54
57
|
```ts
|
|
55
58
|
import { createSeamwardCollector } from "@seamward/collector";
|
|
56
59
|
|
|
57
|
-
const connected = (connectionKey: string) =>
|
|
60
|
+
const connected = (connectionKey: string, ingestToken: string) =>
|
|
58
61
|
createSeamwardCollector({
|
|
59
62
|
connectionKey,
|
|
60
|
-
ingestToken
|
|
63
|
+
ingestToken,
|
|
61
64
|
endpoint: process.env.SEAMWARD_INGEST_URL,
|
|
62
65
|
deployment: {
|
|
63
66
|
service: "candidate-api",
|
|
@@ -68,18 +71,23 @@ const connected = (connectionKey: string) =>
|
|
|
68
71
|
|
|
69
72
|
export const webhookCollector = connected(
|
|
70
73
|
process.env.SEAMWARD_WEBHOOK_CONNECTION_KEY!,
|
|
74
|
+
process.env.SEAMWARD_WEBHOOK_INGEST_TOKEN!,
|
|
71
75
|
);
|
|
72
76
|
export const httpApiCollector = connected(
|
|
73
77
|
process.env.SEAMWARD_HTTP_API_CONNECTION_KEY!,
|
|
78
|
+
process.env.SEAMWARD_HTTP_API_INGEST_TOKEN!,
|
|
74
79
|
);
|
|
75
80
|
export const queuePublisherCollector = connected(
|
|
76
81
|
process.env.SEAMWARD_QUEUE_PUBLISH_CONNECTION_KEY!,
|
|
82
|
+
process.env.SEAMWARD_QUEUE_PUBLISH_INGEST_TOKEN!,
|
|
77
83
|
);
|
|
78
84
|
export const queueConsumerCollector = connected(
|
|
79
85
|
process.env.SEAMWARD_QUEUE_CONSUME_CONNECTION_KEY!,
|
|
86
|
+
process.env.SEAMWARD_QUEUE_CONSUME_INGEST_TOKEN!,
|
|
80
87
|
);
|
|
81
88
|
export const feedExportCollector = connected(
|
|
82
89
|
process.env.SEAMWARD_FEED_EXPORT_CONNECTION_KEY!,
|
|
90
|
+
process.env.SEAMWARD_FEED_EXPORT_INGEST_TOKEN!,
|
|
83
91
|
);
|
|
84
92
|
```
|
|
85
93
|
|
|
@@ -299,7 +307,7 @@ If the integration remains unobserved:
|
|
|
299
307
|
|
|
300
308
|
- confirm the collector is running in the backend rather than the browser;
|
|
301
309
|
- copy the Connection key again from the integration you are testing;
|
|
302
|
-
- confirm the ingest token belongs to
|
|
310
|
+
- confirm the ingest token belongs to the Integration identified by the Connection key;
|
|
303
311
|
- inspect the relevant collector's `stats()` result for `failedBatches`, `dropped`, or `buildErrors`;
|
|
304
312
|
- verify the local API is reachable at the configured ingest URL;
|
|
305
313
|
- generate a new ingest token if the original was not saved or may be exposed.
|
package/dist/connect.d.ts
CHANGED
|
@@ -7,32 +7,16 @@ export interface ConnectOptions extends Pick<CollectorConfig, "deployment" | "bu
|
|
|
7
7
|
policy?: Omit<RedactionPolicy, "hashKey">;
|
|
8
8
|
}
|
|
9
9
|
export type CreateSeamwardCollectorConfig = ConnectOptions & {
|
|
10
|
+
/** Public key that identifies exactly one Integration. */
|
|
11
|
+
connectionKey: string;
|
|
10
12
|
/** Write-only server credential. Store this in an environment variable. */
|
|
11
13
|
ingestToken: string;
|
|
12
|
-
} & ({
|
|
13
|
-
/** Public key that binds one source and integration. Grants no access by itself. */
|
|
14
|
-
connectionKey: string;
|
|
15
|
-
sourceKey?: never;
|
|
16
|
-
} | {
|
|
17
|
-
/** Legacy public application/environment identifier. */
|
|
18
|
-
sourceKey: string;
|
|
19
|
-
connectionKey?: never;
|
|
20
|
-
});
|
|
21
|
-
export type ConnectedRecordInput = Omit<RecordInput, "integrationId"> & {
|
|
22
|
-
integrationKey?: string;
|
|
23
|
-
};
|
|
24
|
-
export type ConnectedWebhookMeta = Omit<WebhookMeta, "integrationId"> & {
|
|
25
|
-
integrationKey?: string;
|
|
26
|
-
};
|
|
27
|
-
export type ConnectedFetchMeta = Omit<FetchMeta, "integrationId"> & {
|
|
28
|
-
integrationKey?: string;
|
|
29
|
-
};
|
|
30
|
-
export type ConnectedQueueMeta = Omit<QueueMeta, "integrationId"> & {
|
|
31
|
-
integrationKey?: string;
|
|
32
|
-
};
|
|
33
|
-
export type ConnectedScheduledFeedMeta = Omit<ScheduledFeedMeta, "integrationId"> & {
|
|
34
|
-
integrationKey?: string;
|
|
35
14
|
};
|
|
15
|
+
export type ConnectedRecordInput = Omit<RecordInput, "integrationId">;
|
|
16
|
+
export type ConnectedWebhookMeta = Omit<WebhookMeta, "integrationId">;
|
|
17
|
+
export type ConnectedFetchMeta = Omit<FetchMeta, "integrationId">;
|
|
18
|
+
export type ConnectedQueueMeta = Omit<QueueMeta, "integrationId">;
|
|
19
|
+
export type ConnectedScheduledFeedMeta = Omit<ScheduledFeedMeta, "integrationId">;
|
|
36
20
|
export interface ConnectedCollector extends Omit<Collector, "record" | "observeWebhook" | "observeFetch"> {
|
|
37
21
|
record(input: ConnectedRecordInput): void;
|
|
38
22
|
observeWebhook<R extends WebhookResult | void>(meta: ConnectedWebhookMeta, handler: (payload: Json) => R | Promise<R>): (payload: Json) => Promise<R>;
|
|
@@ -42,8 +26,8 @@ export interface ConnectedCollector extends Omit<Collector, "record" | "observeW
|
|
|
42
26
|
observeScheduledFeed<R extends ScheduledFeedResult | void>(meta: ConnectedScheduledFeedMeta, handler: (payload: Json) => R | Promise<R>): (payload: Json) => Promise<R>;
|
|
43
27
|
}
|
|
44
28
|
/**
|
|
45
|
-
* Backend collector setup. The public
|
|
46
|
-
*
|
|
47
|
-
*
|
|
29
|
+
* Backend collector setup. The public Connection key identifies exactly one
|
|
30
|
+
* Integration, and its write-only ingest token authenticates and signs every
|
|
31
|
+
* batch.
|
|
48
32
|
*/
|
|
49
33
|
export declare function createSeamwardCollector(config: CreateSeamwardCollectorConfig): ConnectedCollector;
|
package/dist/connect.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { createHash } from "node:crypto";
|
|
2
|
-
import { parseIngestToken, parseConnectionKey,
|
|
2
|
+
import { parseIngestToken, parseConnectionKey, } from "@seamward/contracts";
|
|
3
3
|
import { createCollector, } from "./observe.js";
|
|
4
4
|
const defaultPolicy = {
|
|
5
5
|
version: "seamward-default-v1",
|
|
@@ -17,27 +17,22 @@ function defaultIngestEndpoint() {
|
|
|
17
17
|
return process.env.SEAMWARD_INGEST_URL ?? "https://api.seamward.com/ingest";
|
|
18
18
|
}
|
|
19
19
|
/**
|
|
20
|
-
* Backend collector setup. The public
|
|
21
|
-
*
|
|
22
|
-
*
|
|
20
|
+
* Backend collector setup. The public Connection key identifies exactly one
|
|
21
|
+
* Integration, and its write-only ingest token authenticates and signs every
|
|
22
|
+
* batch.
|
|
23
23
|
*/
|
|
24
24
|
export function createSeamwardCollector(config) {
|
|
25
|
-
const { connectionKey: rawConnectionKey, ingestToken: rawIngestToken, endpoint = defaultIngestEndpoint(), policy = defaultPolicy,
|
|
26
|
-
let
|
|
27
|
-
let boundIntegrationKey
|
|
25
|
+
const { connectionKey: rawConnectionKey, ingestToken: rawIngestToken, endpoint = defaultIngestEndpoint(), policy = defaultPolicy, ...options } = config;
|
|
26
|
+
let connectionKey;
|
|
27
|
+
let boundIntegrationKey;
|
|
28
28
|
let ingestToken;
|
|
29
29
|
try {
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
boundIntegrationKey = parsed.integrationKey;
|
|
34
|
-
}
|
|
35
|
-
else {
|
|
36
|
-
sourceKey = parseSourceKey(rawSourceKey ?? "");
|
|
37
|
-
}
|
|
30
|
+
const parsed = parseConnectionKey(rawConnectionKey);
|
|
31
|
+
connectionKey = rawConnectionKey;
|
|
32
|
+
boundIntegrationKey = parsed.integrationKey;
|
|
38
33
|
}
|
|
39
34
|
catch {
|
|
40
|
-
throw new Error("Seamward connection key
|
|
35
|
+
throw new Error("Seamward connection key is invalid");
|
|
41
36
|
}
|
|
42
37
|
try {
|
|
43
38
|
ingestToken = parseIngestToken(rawIngestToken);
|
|
@@ -47,7 +42,7 @@ export function createSeamwardCollector(config) {
|
|
|
47
42
|
}
|
|
48
43
|
const collector = createCollector({
|
|
49
44
|
endpoint,
|
|
50
|
-
|
|
45
|
+
connectionKey,
|
|
51
46
|
ingestToken,
|
|
52
47
|
// These placeholders satisfy the local strict envelope contract. The API
|
|
53
48
|
// replaces them with the token-bound scope before validation/persistence.
|
|
@@ -59,23 +54,16 @@ export function createSeamwardCollector(config) {
|
|
|
59
54
|
},
|
|
60
55
|
...options,
|
|
61
56
|
});
|
|
62
|
-
function integrationId(value) {
|
|
63
|
-
const selected = value ?? boundIntegrationKey;
|
|
64
|
-
if (!selected) {
|
|
65
|
-
throw new Error("Seamward integration key is required when using a legacy source key");
|
|
66
|
-
}
|
|
67
|
-
return parseIntegrationKey(selected);
|
|
68
|
-
}
|
|
69
57
|
return {
|
|
70
|
-
record: (
|
|
58
|
+
record: (input) => collector.record({
|
|
71
59
|
...input,
|
|
72
|
-
integrationId:
|
|
60
|
+
integrationId: boundIntegrationKey,
|
|
73
61
|
}),
|
|
74
|
-
observeWebhook: (
|
|
75
|
-
observeFetch: (
|
|
76
|
-
observeQueuePublish: (
|
|
77
|
-
observeQueueConsumer: (
|
|
78
|
-
observeScheduledFeed: (
|
|
62
|
+
observeWebhook: (meta, handler) => collector.observeWebhook({ ...meta, integrationId: boundIntegrationKey }, handler),
|
|
63
|
+
observeFetch: (meta, fetchFn) => collector.observeFetch({ ...meta, integrationId: boundIntegrationKey }, fetchFn),
|
|
64
|
+
observeQueuePublish: (meta, publisher) => collector.observeQueuePublish({ ...meta, integrationId: boundIntegrationKey }, publisher),
|
|
65
|
+
observeQueueConsumer: (meta, consumer) => collector.observeQueueConsumer({ ...meta, integrationId: boundIntegrationKey }, consumer),
|
|
66
|
+
observeScheduledFeed: (meta, handler) => collector.observeScheduledFeed({ ...meta, integrationId: boundIntegrationKey }, handler),
|
|
79
67
|
flush: () => collector.flush(),
|
|
80
68
|
stop: () => collector.stop(),
|
|
81
69
|
stats: () => collector.stats(),
|
package/dist/connect.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"connect.js","sourceRoot":"","sources":["../src/connect.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EACL,gBAAgB,EAChB,kBAAkB,
|
|
1
|
+
{"version":3,"file":"connect.js","sourceRoot":"","sources":["../src/connect.ts"],"names":[],"mappings":"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"}
|
package/dist/observe.d.ts
CHANGED
|
@@ -15,7 +15,7 @@ import { type ShipperConfig, type ShipperStats } from "./shipper.js";
|
|
|
15
15
|
* errors into the host. A handler's own exception is recorded (500, not
|
|
16
16
|
* accepted) and RETHROWN - the host's error semantics are untouched.
|
|
17
17
|
*/
|
|
18
|
-
export interface CollectorConfig extends Pick<ShipperConfig, "endpoint" | "
|
|
18
|
+
export interface CollectorConfig extends Pick<ShipperConfig, "endpoint" | "connectionKey" | "ingestToken" | "maxBatchSize" | "flushIntervalMs" | "maxQueueSize" | "fetchFn" | "nowSec"> {
|
|
19
19
|
tenantId: string;
|
|
20
20
|
environmentId: string;
|
|
21
21
|
policy: RedactionPolicy;
|
package/dist/observe.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"observe.js","sourceRoot":"","sources":["../src/observe.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,wBAAwB,EAAE,MAAM,yBAAyB,CAAC;AACnE,OAAO,EACL,aAAa,GAGd,MAAM,uBAAuB,CAAC;AAE/B,OAAO,EACL,aAAa,GAGd,MAAM,cAAc,CAAC;
|
|
1
|
+
{"version":3,"file":"observe.js","sourceRoot":"","sources":["../src/observe.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,wBAAwB,EAAE,MAAM,yBAAyB,CAAC;AACnE,OAAO,EACL,aAAa,GAGd,MAAM,uBAAuB,CAAC;AAE/B,OAAO,EACL,aAAa,GAGd,MAAM,cAAc,CAAC;AAoJtB,MAAM,UAAU,eAAe,CAAC,MAAuB;IACrD,MAAM,EACJ,QAAQ,EACR,aAAa,EACb,MAAM,EACN,UAAU,EAAE,kBAAkB,EAC9B,WAAW,EACX,cAAc,EAAE,wBAAwB,EACxC,GAAG,aAAa,EACjB,GAAG,MAAM,CAAC;IACX,MAAM,UAAU,GAAG,wBAAwB,CAAC,kBAAkB,CAAC,CAAC;IAChE,MAAM,OAAO,GAAG,aAAa,CAAC,aAAa,CAAC,CAAC;IAC7C,IAAI,WAAW,GAAG,CAAC,CAAC;IACpB,MAAM,kBAAkB,GAAG,IAAI,GAAG,EAAiB,CAAC;IAEpD,MAAM,cAAc,GAAG,wBAAwB,IAAI,CAAC,GAAG,EAAE,CAAC,WAAW,CAAC,GAAG,EAAE,CAAC,CAAC;IAE7E,SAAS,eAAe,CAAC,KAAkB;QACzC,IAAI,CAAC;YACH,OAAO,CAAC,OAAO,CACb,aAAa,CACX;gBACE,GAAG,KAAK;gBACR,QAAQ;gBACR,aAAa;gBACb,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;aACtC,EACD,MAAM,EACN,WAAW,CACZ,CACF,CAAC;QACJ,CAAC;QAAC,MAAM,CAAC;YACP,oEAAoE;YACpE,WAAW,IAAI,CAAC,CAAC;QACnB,CAAC;IACH,CAAC;IAED,SAAS,MAAM,CAAC,KAAkB;QAChC,eAAe,CACb,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,EAAE;YAC5B,UAAU,CAAC,GAAG,EAAE;gBACd,eAAe,CAAC,KAAK,CAAC,CAAC;gBACvB,OAAO,EAAE,CAAC;YACZ,CAAC,EAAE,CAAC,CAAC,CAAC;QACR,CAAC,CAAC,CACH,CAAC;IACJ,CAAC;IAED,SAAS,cAAc,CACrB,IAAiB,EACjB,OAA0C;QAE1C,OAAO,KAAK,EAAE,OAAa,EAAE,EAAE;YAC7B,MAAM,SAAS,GAAG,cAAc,EAAE,CAAC;YACnC,MAAM,IAAI,GAAG;gBACX,aAAa,EAAE,IAAI,CAAC,aAAa;gBACjC,SAAS,EAAE,SAAkB;gBAC7B,QAAQ,EAAE,cAAuB;gBACjC,MAAM,EAAE,IAAI,CAAC,MAAM,IAAK,MAAgB;gBACxC,aAAa,EAAE,IAAI,CAAC,aAAa;gBACjC,OAAO;gBACP,GAAG,CAAC,IAAI,CAAC,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBAChE,GAAG,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;aAC/D,CAAC;YACF,IAAI,CAAC;gBACH,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,OAAO,CAAC,CAAC;gBACtC,MAAM,CAAC;oBACL,GAAG,IAAI;oBACP,UAAU,EAAE,MAAM,EAAE,UAAU,IAAI,GAAG;oBACrC,UAAU,EAAE,cAAc,EAAE,GAAG,SAAS;oBACxC,GAAG,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,MAAM,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;oBAC7D,GAAG,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,MAAM,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;oBACvD,GAAG,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,MAAM,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;iBACpE,CAAC,CAAC;gBACH,OAAO,MAAM,CAAC;YAChB,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,MAAM,CAAC;oBACL,GAAG,IAAI;oBACP,UAAU,EAAE,GAAG;oBACf,UAAU,EAAE,cAAc,EAAE,GAAG,SAAS;oBACxC,OAAO,EAAE,EAAE,QAAQ,EAAE,KAAK,EAAE;iBAC7B,CAAC,CAAC;gBACH,MAAM,KAAK,CAAC,CAAC,iCAAiC;YAChD,CAAC;QACH,CAAC,CAAC;IACJ,CAAC;IAED,SAAS,eAAe,CAAC,UAAyB;QAChD,IAAI,OAAsB,CAAC;QAC3B,OAAO,GAAG,UAAU;aACjB,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC;aACf,OAAO,CAAC,GAAG,EAAE;YACZ,kBAAkB,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QACrC,CAAC,CAAC,CAAC;QACL,kBAAkB,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;IAClC,CAAC;IAED,KAAK,UAAU,kBAAkB;QAC/B,OAAO,kBAAkB,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC;YACnC,MAAM,OAAO,CAAC,GAAG,CAAC,CAAC,GAAG,kBAAkB,CAAC,CAAC,CAAC;QAC7C,CAAC;IACH,CAAC;IAED,SAAS,YAAY,CACnB,IAAe,EACf,gBAA8B,KAAK;QAEnC,OAAO,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE;YAC3B,MAAM,SAAS,GAAG,cAAc,EAAE,CAAC;YACnC,MAAM,eAAe,GAAG,IAAI,CAAC,eAAe,IAAI,UAAU,CAAC;YAC3D,MAAM,iBAAiB,GACrB,eAAe,KAAK,SAAS;gBAC3B,CAAC,CAAC,+BAA+B,CAAC,KAAK,EAAE,IAAI,EAAE,IAAI,CAAC,cAAc,CAAC;gBACnE,CAAC,CAAC,SAAS,CAAC;YAChB,MAAM,eAAe,GACnB,IAAI,CAAC,MAAM;gBACX,IAAI,EAAE,MAAM;gBACZ,CAAC,OAAO,OAAO,KAAK,WAAW,IAAI,KAAK,YAAY,OAAO;oBACzD,CAAC,CAAC,KAAK,CAAC,MAAM;oBACd,CAAC,CAAC,KAAK,CAAC,CAAC;YACb,MAAM,MAAM,GACV,eAAe,CAAC,WAAW,EAAgC,CAAC;YAC9D,MAAM,IAAI,GAAG;gBACX,aAAa,EAAE,IAAI,CAAC,aAAa;gBACjC,SAAS,EAAE,UAAmB;gBAC9B,QAAQ,EAAE,UAAmB;gBAC7B,MAAM;gBACN,aAAa,EAAE,IAAI,CAAC,aAAa;gBACjC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,IAAI,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBACxD,GAAG,CAAC,IAAI,CAAC,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBAChE,GAAG,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;aAC/D,CAAC;YAEF,IAAI,QAAkB,CAAC;YACvB,IAAI,CAAC;gBACH,QAAQ,GAAG,MAAM,aAAa,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;YAC9C,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,MAAM,UAAU,GAAG,cAAc,EAAE,GAAG,SAAS,CAAC;gBAChD,IAAI,iBAAiB,EAAE,CAAC;oBACtB,eAAe,CACb,iBAAiB,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE;wBACjC,MAAM,CAAC;4BACL,GAAG,IAAI;4BACP,eAAe;4BACf,UAAU,EAAE,CAAC;4BACb,UAAU;4BACV,GAAG,CAAC,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;4BAC7C,OAAO,EAAE,EAAE,QAAQ,EAAE,KAAK,EAAE;yBAC7B,CAAC,CAAC;oBACL,CAAC,CAAC,CACH,CAAC;gBACJ,CAAC;qBAAM,CAAC;oBACN,MAAM,CAAC;wBACL,GAAG,IAAI;wBACP,eAAe;wBACf,UAAU,EAAE,CAAC;wBACb,UAAU;wBACV,OAAO,EAAE,EAAE,QAAQ,EAAE,KAAK,EAAE;qBAC7B,CAAC,CAAC;gBACL,CAAC;gBACD,MAAM,KAAK,CAAC;YACd,CAAC;YAED,MAAM,UAAU,GAAG,cAAc,EAAE,GAAG,SAAS,CAAC;YAChD,yEAAyE;YACzE,wEAAwE;YACxE,eAAe,CACb,OAAO,CAAC,OAAO,EAAE,CAAC,IAAI,CAAC,KAAK,IAAI,EAAE;gBAChC,IAAI,OAAyB,CAAC;gBAC9B,IAAI,CAAC;oBACH,OAAO;wBACL,eAAe,KAAK,SAAS;4BAC3B,CAAC,CAAC,MAAM,iBAAiB;4BACzB,CAAC,CAAE,CAAC,MAAM,QAAQ,CAAC,KAAK,EAAE,CAAC,IAAI,EAAE,CAAU,CAAC;gBAClD,CAAC;gBAAC,MAAM,CAAC;oBACP,gEAAgE;gBAClE,CAAC;gBACD,MAAM,CAAC;oBACL,GAAG,IAAI;oBACP,eAAe;oBACf,UAAU,EAAE,QAAQ,CAAC,MAAM;oBAC3B,UAAU;oBACV,GAAG,CAAC,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;oBAC7C,OAAO,EAAE,EAAE,QAAQ,EAAE,QAAQ,CAAC,EAAE,EAAE;iBACnC,CAAC,CAAC;YACL,CAAC,CAAC,CACH,CAAC;YAEF,OAAO,QAAQ,CAAC;QAClB,CAAC,CAAC;IACJ,CAAC;IAED,SAAS,YAAY,CACnB,SAAiC,EACjC,IAAe,EACf,OAA0C;QAE1C,OAAO,KAAK,EAAE,OAAa,EAAE,EAAE;YAC7B,MAAM,SAAS,GAAG,cAAc,EAAE,CAAC;YACnC,MAAM,IAAI,GAAG;gBACX,aAAa,EAAE,IAAI,CAAC,aAAa;gBACjC,SAAS;gBACT,QAAQ,EAAE,OAAgB;gBAC1B,MAAM,EAAE,MAAe;gBACvB,aAAa,EAAE,IAAI,CAAC,SAAS;gBAC7B,eAAe,EAAE,SAAkB;gBACnC,OAAO,EAAE,OAAO;gBAChB,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,IAAI,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBACxD,GAAG,CAAC,IAAI,CAAC,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBAChE,GAAG,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;aAC/D,CAAC;YACF,IAAI,CAAC;gBACH,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,OAAO,CAAC,CAAC;gBACtC,MAAM,QAAQ,GAAG,MAAM,EAAE,WAAW,KAAK,UAAU,CAAC;gBACpD,MAAM,CAAC;oBACL,GAAG,IAAI;oBACP,UAAU,EAAE,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG;oBAChC,UAAU,EAAE,cAAc,EAAE,GAAG,SAAS;oBACxC,GAAG,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,MAAM,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;oBAC7D,GAAG,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,MAAM,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;oBACnE,OAAO,EAAE,MAAM,EAAE,OAAO,IAAI,EAAE,QAAQ,EAAE,CAAC,QAAQ,EAAE;iBACpD,CAAC,CAAC;gBACH,OAAO,MAAM,CAAC;YAChB,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,MAAM,CAAC;oBACL,GAAG,IAAI;oBACP,UAAU,EAAE,GAAG;oBACf,UAAU,EAAE,cAAc,EAAE,GAAG,SAAS;oBACxC,OAAO,EAAE,EAAE,QAAQ,EAAE,KAAK,EAAE;iBAC7B,CAAC,CAAC;gBACH,MAAM,KAAK,CAAC;YACd,CAAC;QACH,CAAC,CAAC;IACJ,CAAC;IAED,SAAS,mBAAmB,CAC1B,IAAe,EACf,SAA4C;QAE5C,OAAO,YAAY,CAAC,UAAU,EAAE,IAAI,EAAE,SAAS,CAAC,CAAC;IACnD,CAAC;IAED,SAAS,oBAAoB,CAC3B,IAAe,EACf,QAA2C;QAE3C,OAAO,YAAY,CAAC,SAAS,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAC;IACjD,CAAC;IAED,SAAS,oBAAoB,CAC3B,IAAuB,EACvB,OAA0C;QAE1C,OAAO,KAAK,EAAE,OAAa,EAAE,EAAE;YAC7B,MAAM,SAAS,GAAG,cAAc,EAAE,CAAC;YACnC,MAAM,IAAI,GAAG;gBACX,aAAa,EAAE,IAAI,CAAC,aAAa;gBACjC,SAAS,EAAE,IAAI,CAAC,SAAS;gBACzB,QAAQ,EAAE,gBAAyB;gBACnC,MAAM,EAAE,MAAe;gBACvB,aAAa,EAAE,IAAI,CAAC,QAAQ;gBAC5B,eAAe,EAAE,SAAkB;gBACnC,OAAO;gBACP,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,IAAI,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBACxD,GAAG,CAAC,IAAI,CAAC,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBAChE,GAAG,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;aAC/D,CAAC;YACF,IAAI,CAAC;gBACH,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,OAAO,CAAC,CAAC;gBACtC,MAAM,QAAQ,GAAG,MAAM,EAAE,WAAW,KAAK,UAAU,CAAC;gBACpD,MAAM,CAAC;oBACL,GAAG,IAAI;oBACP,UAAU,EAAE,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG;oBAChC,UAAU,EAAE,cAAc,EAAE,GAAG,SAAS;oBACxC,GAAG,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,MAAM,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;oBAC7D,GAAG,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,MAAM,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;oBACnE,OAAO,EAAE,MAAM,EAAE,OAAO,IAAI,EAAE,QAAQ,EAAE,CAAC,QAAQ,EAAE;iBACpD,CAAC,CAAC;gBACH,OAAO,MAAM,CAAC;YAChB,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,MAAM,CAAC;oBACL,GAAG,IAAI;oBACP,UAAU,EAAE,GAAG;oBACf,UAAU,EAAE,cAAc,EAAE,GAAG,SAAS;oBACxC,OAAO,EAAE,EAAE,QAAQ,EAAE,KAAK,EAAE;iBAC7B,CAAC,CAAC;gBACH,MAAM,KAAK,CAAC;YACd,CAAC;QACH,CAAC,CAAC;IACJ,CAAC;IAED,OAAO;QACL,MAAM;QACN,cAAc;QACd,YAAY;QACZ,mBAAmB;QACnB,oBAAoB;QACpB,oBAAoB;QACpB,KAAK,CAAC,KAAK;YACT,MAAM,kBAAkB,EAAE,CAAC;YAC3B,MAAM,OAAO,CAAC,KAAK,EAAE,CAAC;QACxB,CAAC;QACD,KAAK,CAAC,IAAI;YACR,MAAM,kBAAkB,EAAE,CAAC;YAC3B,MAAM,OAAO,CAAC,IAAI,EAAE,CAAC;QACvB,CAAC;QACD,KAAK,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,GAAG,OAAO,CAAC,KAAK,EAAE,EAAE,WAAW,EAAE,CAAC;KACnD,CAAC;AACJ,CAAC;AAED,SAAS,+BAA+B,CACtC,KAAkC,EAClC,IAAiC,EACjC,eAAiC;IAEjC,IAAI,eAAe,KAAK,SAAS;QAAE,OAAO,OAAO,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC;IAE3E,IAAI,OAAO,IAAI,EAAE,IAAI,KAAK,QAAQ,EAAE,CAAC;QACnC,OAAO,OAAO,CAAC,OAAO,EAAE,CAAC,IAAI,CAAC,GAAG,EAAE;YACjC,IAAI,CAAC;gBACH,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAc,CAAS,CAAC;YACjD,CAAC;YAAC,MAAM,CAAC;gBACP,OAAO,SAAS,CAAC;YACnB,CAAC;QACH,CAAC,CAAC,CAAC;IACL,CAAC;IAED,IAAI,OAAO,OAAO,KAAK,WAAW,IAAI,KAAK,YAAY,OAAO,EAAE,CAAC;QAC/D,IAAI,CAAC;YACH,MAAM,YAAY,GAAG,KAAK,CAAC,KAAK,EAAE,CAAC;YACnC,OAAO,OAAO,CAAC,OAAO,EAAE,CAAC,IAAI,CAAC,KAAK,IAAI,EAAE;gBACvC,IAAI,CAAC;oBACH,OAAO,CAAC,MAAM,YAAY,CAAC,IAAI,EAAE,CAAS,CAAC;gBAC7C,CAAC;gBAAC,MAAM,CAAC;oBACP,OAAO,SAAS,CAAC;gBACnB,CAAC;YACH,CAAC,CAAC,CAAC;QACL,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,OAAO,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;QACpC,CAAC;IACH,CAAC;IAED,OAAO,OAAO,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;AACpC,CAAC"}
|
package/dist/shipper.d.ts
CHANGED
|
@@ -17,12 +17,10 @@ import { type ObservationEnvelope } from "@seamward/contracts";
|
|
|
17
17
|
*/
|
|
18
18
|
export interface ShipperConfig {
|
|
19
19
|
endpoint: string;
|
|
20
|
-
/**
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
credentialId?: string;
|
|
25
|
-
secret?: string;
|
|
20
|
+
/** Public Integration identity. Grants no access by itself. */
|
|
21
|
+
connectionKey: string;
|
|
22
|
+
/** Write-only Integration credential. */
|
|
23
|
+
ingestToken: string;
|
|
26
24
|
maxBatchSize?: number;
|
|
27
25
|
flushIntervalMs?: number;
|
|
28
26
|
maxQueueSize?: number;
|
package/dist/shipper.js
CHANGED
|
@@ -20,21 +20,13 @@ export function createShipper(config) {
|
|
|
20
20
|
const batch = queue.slice(0, maxBatchSize);
|
|
21
21
|
const body = JSON.stringify({ envelopes: batch });
|
|
22
22
|
try {
|
|
23
|
-
const signingSecret = config.ingestToken
|
|
24
|
-
if (!signingSecret)
|
|
25
|
-
throw new Error("collector authentication is required");
|
|
23
|
+
const signingSecret = config.ingestToken;
|
|
26
24
|
const response = await fetchFn(config.endpoint, {
|
|
27
25
|
method: "POST",
|
|
28
26
|
headers: {
|
|
29
27
|
"content-type": "application/json",
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
authorization: `Bearer ${config.ingestToken}`,
|
|
33
|
-
"x-seamward-source": config.sourceKey,
|
|
34
|
-
}
|
|
35
|
-
: config.credentialId
|
|
36
|
-
? { "x-seamward-credential": config.credentialId }
|
|
37
|
-
: {}),
|
|
28
|
+
authorization: `Bearer ${config.ingestToken}`,
|
|
29
|
+
"x-seamward-connection": config.connectionKey,
|
|
38
30
|
"x-seamward-signature": signBody(body, signingSecret, nowSec()),
|
|
39
31
|
},
|
|
40
32
|
body,
|
package/dist/shipper.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"shipper.js","sourceRoot":"","sources":["../src/shipper.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAA4B,MAAM,qBAAqB,CAAC;
|
|
1
|
+
{"version":3,"file":"shipper.js","sourceRoot":"","sources":["../src/shipper.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@seamward/collector",
|
|
3
|
-
"version": "0.1.0-alpha.
|
|
3
|
+
"version": "0.1.0-alpha.3",
|
|
4
4
|
"private": false,
|
|
5
5
|
"files": [
|
|
6
6
|
"dist"
|
|
@@ -17,17 +17,17 @@
|
|
|
17
17
|
"publishConfig": {
|
|
18
18
|
"access": "public"
|
|
19
19
|
},
|
|
20
|
+
"scripts": {
|
|
21
|
+
"build": "tsc -p tsconfig.json",
|
|
22
|
+
"typecheck": "tsc -p tsconfig.json --noEmit",
|
|
23
|
+
"test": "vitest run"
|
|
24
|
+
},
|
|
20
25
|
"dependencies": {
|
|
21
|
-
"@seamward/contracts": "
|
|
26
|
+
"@seamward/contracts": "workspace:*"
|
|
22
27
|
},
|
|
23
28
|
"devDependencies": {
|
|
24
29
|
"@types/node": "^22.0.0",
|
|
25
30
|
"typescript": "^5.6.0",
|
|
26
31
|
"vitest": "^3.0.0"
|
|
27
|
-
},
|
|
28
|
-
"scripts": {
|
|
29
|
-
"build": "tsc -p tsconfig.json",
|
|
30
|
-
"typecheck": "tsc -p tsconfig.json --noEmit",
|
|
31
|
-
"test": "vitest run"
|
|
32
32
|
}
|
|
33
|
-
}
|
|
33
|
+
}
|