@ontemper/sdk 0.3.0 → 0.3.1

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.
@@ -1 +1 @@
1
- {"version":3,"file":"As2Resource.d.ts","sourceRoot":"","sources":["../src/As2Resource.ts"],"names":[],"mappings":"AAAA,OAAO,EAAU,MAAM,EAAE,MAAM,QAAQ,CAAC;AA0BxC,gHAAgH;AAChH,eAAO,MAAM,mBAAmB;;;;;;;;;;;;;;;;;;;;;;;EAG9B,CAAC;AACH,MAAM,MAAM,mBAAmB,GAAG,OAAO,mBAAmB,CAAC,IAAI,CAAC;AAYlE,oHAAoH;AACpH,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAqB7B,CAAC;AACH,MAAM,MAAM,kBAAkB,GAAG,OAAO,kBAAkB,CAAC,IAAI,CAAC"}
1
+ {"version":3,"file":"As2Resource.d.ts","sourceRoot":"","sources":["../src/As2Resource.ts"],"names":[],"mappings":"AAAA,OAAO,EAAU,MAAM,EAAE,MAAM,QAAQ,CAAC;AA0BxC,gHAAgH;AAChH,eAAO,MAAM,mBAAmB;;;;;;;;;;;;;;;;;;;;;;;EAG9B,CAAC;AACH,MAAM,MAAM,mBAAmB,GAAG,OAAO,mBAAmB,CAAC,IAAI,CAAC;AAalE,oHAAoH;AACpH,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAgC7B,CAAC;AACH,MAAM,MAAM,kBAAkB,GAAG,OAAO,kBAAkB,CAAC,IAAI,CAAC"}
@@ -1,12 +1,12 @@
1
1
  import { Effect, Schema } from 'effect';
2
- /** An `x-secret` field: the value arrives `Redacted`, so logging the record never prints it. */
3
- const Secret = Schema.RedactedFromValue(Schema.String);
2
+ // An `x-secret` field: the value arrives `Redacted`, so logging the record never prints it; an empty key cannot sign.
3
+ const Secret = Schema.RedactedFromValue(Schema.String.check(Schema.isMinLength(1)));
4
4
  const SwitchOn = Schema.Boolean.pipe(Schema.withDecodingDefaultKey(Effect.succeed(true)));
5
- /** Our key pair with the slot for the one it overlaps with during a rotation; a secondary slot is set or cleared as a pair. */
5
+ // Our key pair with the slot for the one it overlaps with during a rotation; a secondary slot is set or cleared as a pair.
6
6
  const as2KeyPairSlotFields = {
7
7
  certificate: Schema.String.check(Schema.isMinLength(1)),
8
8
  privateKey: Secret,
9
- secondaryCertificate: Schema.optionalKey(Schema.String),
9
+ secondaryCertificate: Schema.optionalKey(Schema.String.check(Schema.isMinLength(1))),
10
10
  secondaryPrivateKey: Schema.optionalKey(Secret),
11
11
  };
12
12
  const pairedSlots = Schema.makeFilter((slots) => (slots.secondaryCertificate === undefined) === (slots.secondaryPrivateKey === undefined) ||
@@ -21,9 +21,10 @@ export const As2IdentityResource = Schema.Struct({
21
21
  as2Id: Schema.String.check(Schema.isMinLength(1)),
22
22
  keys: As2IdentityKeys,
23
23
  });
24
+ // A secondary slot is either a certificate or absent; a blank string would reach the engine as a certificate.
24
25
  const As2CertificateSlots = Schema.Struct({
25
26
  certificate: Schema.String.check(Schema.isMinLength(1)),
26
- secondaryCertificate: Schema.optionalKey(Schema.String),
27
+ secondaryCertificate: Schema.optionalKey(Schema.String.check(Schema.isMinLength(1))),
27
28
  });
28
29
  const As2PartnerCertificates = Schema.Union([
29
30
  Schema.Struct({ mode: Schema.Literal('combined'), ...As2CertificateSlots.fields }),
@@ -33,7 +34,15 @@ const As2PartnerCertificates = Schema.Union([
33
34
  export const As2PartnerResource = Schema.Struct({
34
35
  identity: As2IdentityResource,
35
36
  as2Id: Schema.String.check(Schema.isMinLength(1)),
36
- url: Schema.optionalKey(Schema.String.check(Schema.isPattern(/^https?:\/\//i))),
37
+ // The URL is a plain field that reaches logs, so userinfo in it would log a credential.
38
+ url: Schema.optionalKey(Schema.String.check(Schema.isPattern(/^https?:\/\//i), Schema.makeFilter((url) => {
39
+ if (!URL.canParse(url))
40
+ return 'Expected an absolute http(s) URL';
41
+ const parsed = new URL(url);
42
+ if (!['http:', 'https:'].includes(parsed.protocol))
43
+ return 'Expected an absolute http(s) URL';
44
+ return (!parsed.username && !parsed.password) || 'Expected a URL without embedded credentials';
45
+ }))),
37
46
  certificates: As2PartnerCertificates,
38
47
  signOutgoing: SwitchOn,
39
48
  encryptOutgoing: SwitchOn,
@@ -1 +1 @@
1
- {"version":3,"file":"As2Resource.js","sourceRoot":"","sources":["../src/As2Resource.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"As2Resource.js","sourceRoot":"","sources":["../src/As2Resource.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  import { HttpApi, type HttpApiGroup } from 'effect/unstable/httpapi';
2
2
  import { type WorkflowManifest } from './Contract/Manifest.js';
3
- export declare const SDK_VERSION = "0.3.0";
3
+ export declare const SDK_VERSION = "0.3.1";
4
4
  export declare const RUNTIME_API_VERSION = 1;
5
5
  /** The route the SDK serves for platform probes; an API declaring `GET` on it collides with it on every request. */
6
6
  export declare const HEALTHCHECK_PATH = "/healthcheck";
package/dist/Manifest.js CHANGED
@@ -5,7 +5,7 @@ import { declarationOf } from './Resource.js';
5
5
  import { Trigger } from './Trigger.js';
6
6
  const decodeTrigger = Schema.decodeUnknownSync(TriggerMetadata, { onExcessProperty: 'error' });
7
7
  const identityOf = (resource) => `${resource.kind}:${resource.kind === 'resourceType' ? resource.type : resource.key}`;
8
- export const SDK_VERSION = '0.3.0';
8
+ export const SDK_VERSION = '0.3.1';
9
9
  export const RUNTIME_API_VERSION = 1;
10
10
  /** The route the SDK serves for platform probes; an API declaring `GET` on it collides with it on every request. */
11
11
  export const HEALTHCHECK_PATH = '/healthcheck';
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ontemper/sdk",
3
- "version": "0.3.0",
3
+ "version": "0.3.1",
4
4
  "description": "Effect workflow SDK for Temper.",
5
5
  "repository": {
6
6
  "type": "git",
@@ -51,7 +51,7 @@
51
51
  },
52
52
  "license": "MIT",
53
53
  "sideEffects": false,
54
- "gitHead": "1ae7521d4bf4beff38883ddb0c4cb057cd0feac3",
54
+ "gitHead": "05ebbc58b625f7748ba6b191c07d08439eac9d8e",
55
55
  "scripts": {
56
56
  "build": "tsc -p tsconfig.json",
57
57
  "test": "vitest run",