@miadi/tide-contract 0.3.3 → 0.3.5

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/dist/index.d.ts CHANGED
@@ -391,5 +391,25 @@ export interface TidePendingApproval {
391
391
  requires_controller: boolean;
392
392
  created_at: string;
393
393
  }
394
- export * from "./secret-redaction.js";
394
+ export type TideSecretRuleKind = "token" | "labelled" | "block";
395
+ export interface TideSecretRule {
396
+ name: string;
397
+ /** token: the whole match is redacted. labelled: group 1 is kept, group 2 is redacted. block: the whole match becomes `replacement`. */
398
+ kind: TideSecretRuleKind;
399
+ /** A regex in the subset JavaScript and Python share. */
400
+ pattern: string;
401
+ /** "" or "i". */
402
+ flags: string;
403
+ replacement?: string;
404
+ }
405
+ export declare const TIDE_SECRET_MASK = "***";
406
+ /** Applied top to bottom. */
407
+ export declare const TIDE_SECRET_RULES: readonly TideSecretRule[];
408
+ /** A secret as its first 6 characters (4 when shorter than 7) followed by `***`. */
409
+ export declare function redactSecretValue(value: string): string;
410
+ /**
411
+ * Text with every credential the rules know redacted. Running it again changes
412
+ * nothing, so a capture ironsilk already redacted passes through unchanged.
413
+ */
414
+ export declare function sanitizeSecrets(text: string): string;
395
415
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAGA,eAAO,MAAM,kBAAkB,mDAAmD,CAAA;AAClF,eAAO,MAAM,gBAAgB,SAAS,CAAA;AACtC,eAAO,MAAM,mBAAmB,eAAe,CAAA;AAC/C,eAAO,MAAM,uBAAuB,uBAAuB,CAAA;AAC3D,eAAO,MAAM,4BAA4B,yBAAyB,CAAA;AAIlE;;;;GAIG;AACH,MAAM,MAAM,WAAW,GAAG,MAAM,GAAG,OAAO,CAAA;AAE1C;;;GAGG;AACH,MAAM,MAAM,eAAe,GAAG,MAAM,GAAG,SAAS,GAAG,SAAS,GAAG,MAAM,GAAG,SAAS,CAAA;AAEjF;;;;GAIG;AACH,MAAM,MAAM,kBAAkB,GAAG,SAAS,GAAG,QAAQ,GAAG,MAAM,CAAA;AAE9D;;;;;GAKG;AACH,MAAM,WAAW,aAAa;IAC5B,2CAA2C;IAC3C,IAAI,EAAE,MAAM,CAAA;IACZ,KAAK,EAAE,kBAAkB,CAAA;IACzB,UAAU,EAAE,MAAM,CAAA;IAClB,oDAAoD;IACpD,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,sDAAsD;IACtD,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,sGAAsG;IACtG,UAAU,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAAA;IACnC,GAAG,CAAC,EAAE,MAAM,CAAA;IACZ,GAAG,CAAC,EAAE,MAAM,CAAA;IACZ,IAAI,CAAC,EAAE,MAAM,EAAE,CAAA;IACf,0FAA0F;IAC1F,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,2DAA2D;IAC3D,EAAE,CAAC,EAAE,MAAM,CAAA;IACX,kCAAkC;IAClC,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAA;CACvB;AAED,MAAM,WAAW,eAAe;IAC9B,WAAW,CAAC,EAAE,WAAW,CAAA;IACzB,qJAAqJ;IACrJ,SAAS,EAAE,MAAM,CAAA;IACjB;;;;;OAKG;IACH,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,yGAAyG;IACzG,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB;;;;OAIG;IACH,YAAY,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IAC5B,yFAAyF;IACzF,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IAC1B,oHAAoH;IACpH,KAAK,CAAC,EAAE,aAAa,GAAG,IAAI,CAAA;IAC5B,GAAG,EAAE,MAAM,CAAA;IACX,GAAG,EAAE,MAAM,CAAA;IACX,SAAS,EAAE,MAAM,GAAG,IAAI,CAAA;IACxB,iBAAiB,EAAE,MAAM,CAAA;IACzB,SAAS,EAAE,OAAO,CAAA;IAClB,eAAe,EAAE,MAAM,EAAE,CAAA;IACzB,WAAW,EAAE,MAAM,CAAA;CACpB;AAED,MAAM,WAAW,WAAW;IAC1B,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,GAAG,CAAC,EAAE,MAAM,CAAA;IACZ,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IACzB,iBAAiB,CAAC,EAAE,MAAM,CAAA;IAC1B,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAA;CACvB;AAED,MAAM,WAAW,eAAe;IAC9B,WAAW,EAAE,MAAM,CAAA;IACnB,SAAS,EAAE,MAAM,CAAA;IACjB,cAAc,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IACtC,SAAS,EAAE,eAAe,EAAE,CAAA;IAC5B,eAAe,CAAC,EAAE,WAAW,EAAE,CAAA;IAC/B,cAAc,CAAC,EAAE,MAAM,EAAE,CAAA;CAC1B;AAED,MAAM,WAAW,gBAAgB;IAC/B,EAAE,EAAE,OAAO,CAAA;IACX,SAAS,EAAE;QACT,QAAQ,EAAE,QAAQ,GAAG,KAAK,CAAA;QAC1B,SAAS,EAAE,QAAQ,GAAG,KAAK,CAAA;QAC3B,QAAQ,EAAE,KAAK,CAAA;QACf,UAAU,EAAE,MAAM,CAAA;QAClB,eAAe,EAAE,OAAO,CAAA;KACzB,CAAA;IACD,MAAM,EAAE;QACN,MAAM,EAAE,OAAO,CAAA;QACf,EAAE,EAAE,OAAO,CAAA;QACX,KAAK,EAAE,MAAM,GAAG,IAAI,CAAA;KACrB,CAAA;IACD,SAAS,EAAE,MAAM,CAAA;CAClB;AAED,MAAM,WAAW,kBAAkB;IACjC,WAAW,CAAC,EAAE,WAAW,CAAA;IACzB,WAAW,EAAE,MAAM,CAAA;IACnB,UAAU,EAAE,MAAM,CAAA;IAClB,YAAY,EAAE,MAAM,CAAA;IACpB,SAAS,EAAE,MAAM,CAAA;IACjB,WAAW,EAAE,MAAM,CAAA;IACnB,2HAA2H;IAC3H,OAAO,EAAE,MAAM,CAAA;IACf,yKAAyK;IACzK,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,GAAG,EAAE,MAAM,CAAA;IACX,WAAW,EAAE,OAAO,CAAA;IACpB,gBAAgB,EAAE,MAAM,CAAA;IACxB,GAAG,EAAE,MAAM,CAAA;IACX,OAAO,EAAE,MAAM,CAAA;IACf,SAAS,EAAE,MAAM,GAAG,IAAI,CAAA;IACxB,iBAAiB,EAAE,MAAM,CAAA;IACzB,cAAc,EAAE,MAAM,CAAA;IACtB,cAAc,EAAE,MAAM,CAAA;IACtB,mBAAmB,EAAE,MAAM,CAAA;CAC5B;AAED,MAAM,MAAM,mBAAmB,GAAG,kBAAkB,EAAE,CAAA;AAEtD,MAAM,WAAW,eAAe;IAC9B,SAAS,EAAE,MAAM,CAAA;IACjB,UAAU,EAAE,MAAM,CAAA;IAClB,WAAW,EAAE,MAAM,CAAA;IACnB,aAAa,EAAE,MAAM,CAAA;CACtB;AAED,MAAM,MAAM,gBAAgB,GAAG,eAAe,GAAG,IAAI,CAAA;AAErD;;;;;GAKG;AACH,MAAM,WAAW,kBAAkB;IACjC,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,8CAA8C;IAC9C,MAAM,EAAE,MAAM,CAAA;IACd,wKAAwK;IACxK,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;IACjC,gCAAgC;IAChC,OAAO,EAAE,MAAM,CAAA;IACf,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAA;CACvB;AAED;;;;GAIG;AACH,MAAM,WAAW,mBAAmB;IAClC,WAAW,EAAE,OAAO,CAAA;IACpB,6CAA6C;IAC7C,IAAI,EAAE,MAAM,CAAA;IACZ,sBAAsB;IACtB,KAAK,EAAE,MAAM,EAAE,CAAA;IACf,4BAA4B;IAC5B,IAAI,EAAE,MAAM,CAAA;IACZ,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAA;CACvB;AAED;;;;GAIG;AACH,MAAM,MAAM,cAAc,GAAG,kBAAkB,GAAG,mBAAmB,CAAA;AAErE,MAAM,WAAW,eAAe;IAC9B,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAA;CACvB;AAED,MAAM,WAAW,cAAc;IAC7B,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAA;CACvB;AAID;;;;;GAKG;AACH,MAAM,WAAW,sBAAsB;IACrC,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,8EAA8E;IAC9E,MAAM,EAAE,MAAM,CAAA;IACd,4CAA4C;IAC5C,OAAO,EAAE,MAAM,CAAA;IACf,wEAAwE;IACxE,SAAS,EAAE,OAAO,CAAA;IAClB,+EAA+E;IAC/E,eAAe,EAAE,MAAM,EAAE,CAAA;IACzB,2FAA2F;IAC3F,cAAc,EAAE,MAAM,EAAE,GAAG,IAAI,CAAA;IAC/B,oEAAoE;IACpE,OAAO,CAAC,EAAE,MAAM,CAAA;CACjB;AAED;;;;GAIG;AACH,MAAM,WAAW,uBAAuB;IACtC,WAAW,EAAE,OAAO,CAAA;IACpB,uIAAuI;IACvI,MAAM,EAAE,MAAM,CAAA;IACd,sFAAsF;IACtF,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB;;;;;;;;OAQG;IACH,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,4CAA4C;IAC5C,OAAO,EAAE,MAAM,CAAA;IACf,gEAAgE;IAChE,SAAS,EAAE,OAAO,CAAA;IAClB,iGAAiG;IACjG,eAAe,EAAE,MAAM,EAAE,CAAA;IACzB,oFAAoF;IACpF,cAAc,EAAE,MAAM,EAAE,GAAG,IAAI,CAAA;IAC/B,oEAAoE;IACpE,OAAO,CAAC,EAAE,MAAM,CAAA;CACjB;AAED,4FAA4F;AAC5F,MAAM,MAAM,kBAAkB,GAAG,sBAAsB,GAAG,uBAAuB,CAAA;AAIjF;;;;GAIG;AACH,MAAM,WAAW,iBAAiB;IAChC,mDAAmD;IACnD,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,8FAA8F;IAC9F,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB,YAAY,CAAC,EAAE,eAAe,GAAG,MAAM,CAAA;IACvC,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,GAAG,CAAC,EAAE,MAAM,CAAA;IACZ,cAAc,CAAC,EAAE,MAAM,CAAA;IACvB,uBAAuB,CAAC,EAAE,MAAM,CAAA;IAChC,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAA;CACvB;AAED,0EAA0E;AAC1E,MAAM,WAAW,sBAAsB;IACrC,qDAAqD;IACrD,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAA;CACvB;AAED;;;;GAIG;AACH,MAAM,WAAW,gBAAgB;IAC/B,kDAAkD;IAClD,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAA;CACvB;AAED;;;;GAIG;AACH,MAAM,WAAW,kBAAkB;IACjC,WAAW,EAAE,OAAO,CAAA;IACpB,qCAAqC;IACrC,WAAW,EAAE,MAAM,CAAA;IACnB,UAAU,EAAE,sBAAsB,EAAE,CAAA;IACpC,KAAK,EAAE,iBAAiB,EAAE,CAAA;IAC1B,8EAA8E;IAC9E,IAAI,CAAC,EAAE,gBAAgB,EAAE,CAAA;CAC1B;AAED;;;;;GAKG;AACH,MAAM,WAAW,yBAAyB;IACxC,EAAE,CAAC,EAAE,MAAM,CAAA;IACX,MAAM,CAAC,EAAE;QACP,IAAI,CAAC,EAAE,MAAM,CAAA;QACb,YAAY,CAAC,EAAE,MAAM,CAAA;QACrB,OAAO,CAAC,EAAE,MAAM,CAAA;QAChB,YAAY,CAAC,EAAE,MAAM,CAAA;QACrB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAA;KACvB,CAAA;IACD,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAA;CACvB;AAED;;;;GAIG;AACH,MAAM,WAAW,yBAAyB;IACxC,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,IAAI,CAAC,EAAE;QACL,OAAO,CAAC,EAAE,MAAM,CAAA;QAChB,YAAY,CAAC,EAAE,MAAM,CAAA;QACrB,YAAY,CAAC,EAAE,eAAe,GAAG,MAAM,CAAA;QACvC,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAA;KACvB,CAAA;IACD,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAA;CACvB;AAID,MAAM,MAAM,yBAAyB,GAAG,UAAU,GAAG,YAAY,GAAG,MAAM,CAAA;AAE1E,MAAM,MAAM,eAAe,GACvB,UAAU,GACV,aAAa,GACb,UAAU,GACV,gBAAgB,GAChB,QAAQ,CAAA;AAEZ,MAAM,MAAM,4BAA4B,GAAG,UAAU,GAAG,YAAY,GAAG,SAAS,CAAA;AAEhF,MAAM,WAAW,WAAW;IAC1B,UAAU,EAAE,MAAM,CAAA;IAClB,OAAO,EAAE,MAAM,CAAA;IACf,SAAS,EAAE,eAAe,CAAA;IAC1B,8EAA8E;IAC9E,WAAW,EAAE,MAAM,GAAG,IAAI,CAAA;IAC1B,6IAA6I;IAC7I,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IAC1B,YAAY,CAAC,EAAE,eAAe,CAAA;IAC9B,kBAAkB,EAAE,4BAA4B,CAAA;IAChD,SAAS,EAAE,MAAM,GAAG,IAAI,CAAA;IACxB,aAAa,EAAE,OAAO,CAAA;IACtB,iBAAiB,EAAE,MAAM,GAAG,IAAI,CAAA;IAChC,OAAO,EAAE,yBAAyB,CAAA;CACnC;AAED,MAAM,WAAW,mBAAmB;IAClC,UAAU,EAAE,MAAM,CAAA;IAClB,YAAY,EAAE,MAAM,CAAA;IACpB,WAAW,EAAE,MAAM,CAAA;IACnB,KAAK,EAAE,WAAW,EAAE,CAAA;CACrB;AAED,MAAM,WAAW,kBAAkB;IACjC,aAAa,EAAE,MAAM,CAAA;IACrB,UAAU,EAAE,MAAM,CAAA;IAClB,OAAO,EAAE,MAAM,CAAA;IACf,WAAW,EAAE,MAAM,GAAG,IAAI,CAAA;IAC1B,6FAA6F;IAC7F,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IAC1B,iBAAiB,EAAE,MAAM,GAAG,IAAI,CAAA;IAChC,cAAc,EAAE,MAAM,EAAE,CAAA;IACxB,aAAa,EAAE,OAAO,CAAA;IACtB,eAAe,EAAE,MAAM,GAAG,IAAI,CAAA;CAC/B;AAED,MAAM,WAAW,cAAc;IAC7B,UAAU,EAAE,MAAM,CAAA;IAClB,cAAc,EAAE,MAAM,CAAA;IACtB,WAAW,EAAE,MAAM,CAAA;IACnB,eAAe,EAAE,MAAM,GAAG,IAAI,CAAA;IAC9B,UAAU,EAAE,MAAM,GAAG,IAAI,CAAA;IACzB,WAAW,EAAE,MAAM,GAAG,IAAI,CAAA;CAC3B;AAED,MAAM,WAAW,qBAAqB;IACpC,UAAU,EAAE,MAAM,CAAA;IAClB,cAAc,EAAE,MAAM,CAAA;IACtB,aAAa,EAAE,MAAM,CAAA;IACrB,WAAW,EAAE,MAAM,CAAA;IACnB,aAAa,EAAE,MAAM,GAAG,IAAI,CAAA;IAC5B,wBAAwB,EAAE,MAAM,GAAG,IAAI,CAAA;IACvC,UAAU,EAAE,MAAM,GAAG,IAAI,CAAA;CAC1B;AAED,MAAM,WAAW,mBAAmB;IAClC,WAAW,EAAE,MAAM,CAAA;IACnB,UAAU,EAAE,MAAM,CAAA;IAClB,OAAO,EAAE,MAAM,GAAG,IAAI,CAAA;IACtB,WAAW,EAAE,MAAM,GAAG,IAAI,CAAA;IAC1B,6FAA6F;IAC7F,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IAC1B,YAAY,CAAC,EAAE,eAAe,CAAA;IAC9B,WAAW,EAAE,MAAM,CAAA;IACnB,aAAa,EAAE,MAAM,GAAG,IAAI,CAAA;IAC5B,mBAAmB,EAAE,OAAO,CAAA;IAC5B,UAAU,EAAE,MAAM,CAAA;CACnB;AAYD,MAAM,MAAM,kBAAkB,GAAG,OAAO,GAAG,UAAU,GAAG,OAAO,CAAA;AAE/D,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,MAAM,CAAA;IACZ,wIAAwI;IACxI,IAAI,EAAE,kBAAkB,CAAA;IACxB,yDAAyD;IACzD,OAAO,EAAE,MAAM,CAAA;IACf,iBAAiB;IACjB,KAAK,EAAE,MAAM,CAAA;IACb,WAAW,CAAC,EAAE,MAAM,CAAA;CACrB;AAED,eAAO,MAAM,gBAAgB,QAAQ,CAAA;AAErC,6BAA6B;AAC7B,eAAO,MAAM,iBAAiB,EAAE,SAAS,cAAc,EAwBtD,CAAA;AAED,oFAAoF;AACpF,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAGvD;AAID;;;GAGG;AACH,wBAAgB,eAAe,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAapD"}
package/dist/index.js CHANGED
@@ -5,6 +5,57 @@ export const TIDE_CLI_COMMAND = "tide";
5
5
  export const TIDE_STATE_ROOT_ENV = "MIADI_HOME";
6
6
  export const TIDE_DEFAULT_STATE_ROOT = "~/.miadi/navigator";
7
7
  export const TIDE_DAEMON_CONTRACT_VERSION = "miadi.tide.daemon.v2";
8
- // ── Credential redaction (jgwill/Miadi#745) ─────────────────────────────────
9
- export * from "./secret-redaction.js";
8
+ export const TIDE_SECRET_MASK = "***";
9
+ /** Applied top to bottom. */
10
+ export const TIDE_SECRET_RULES = [
11
+ { name: "private-key-block", kind: "block", pattern: "-----BEGIN [^-]*PRIVATE KEY-----[\\s\\S]*?-----END [^-]*PRIVATE KEY-----", flags: "", replacement: "-----BEGIN PRIVATE KEY-----***-----END PRIVATE KEY-----" },
12
+ { name: "putty-key", kind: "block", pattern: "PuTTY-User-Key-File-[0-9][\\s\\S]*?(?:Private-MAC:[^\\n]*|$)", flags: "", replacement: "PuTTY-User-Key-File-***" },
13
+ { name: "aws-access-key", kind: "token", pattern: "(?<![A-Za-z0-9])AKIA[0-9A-Z]{16}", flags: "" },
14
+ { name: "aws-session-key", kind: "token", pattern: "(?<![A-Za-z0-9])ASIA[0-9A-Z]{16}", flags: "" },
15
+ { name: "github-token", kind: "token", pattern: "(?<![A-Za-z0-9])gh[pousr]_[A-Za-z0-9_]{20,}", flags: "" },
16
+ { name: "github-pat", kind: "token", pattern: "(?<![A-Za-z0-9])github_pat_[A-Za-z0-9_]{20,}", flags: "" },
17
+ { name: "gitlab-pat", kind: "token", pattern: "(?<![A-Za-z0-9])glpat-[A-Za-z0-9_-]{18,}", flags: "" },
18
+ { name: "anthropic-key", kind: "token", pattern: "(?<![A-Za-z0-9])sk-ant-[A-Za-z0-9_-]{20,}", flags: "" },
19
+ { name: "openai-project-key", kind: "token", pattern: "(?<![A-Za-z0-9])sk-proj-[A-Za-z0-9_-]{20,}", flags: "" },
20
+ { name: "openai-key", kind: "token", pattern: "(?<![A-Za-z0-9])sk-[A-Za-z0-9_-]{20,}", flags: "" },
21
+ { name: "slack-token", kind: "token", pattern: "(?<![A-Za-z0-9])xox[baprs]-[A-Za-z0-9-]{10,}", flags: "" },
22
+ { name: "google-api-key", kind: "token", pattern: "(?<![A-Za-z0-9])AIza[0-9A-Za-z_-]{35}", flags: "" },
23
+ { name: "google-oauth-token", kind: "token", pattern: "(?<![A-Za-z0-9])ya29\\.[0-9A-Za-z_-]{20,}", flags: "" },
24
+ { name: "huggingface-token", kind: "token", pattern: "(?<![A-Za-z0-9])hf_[A-Za-z0-9]{20,}", flags: "" },
25
+ { name: "npm-token", kind: "token", pattern: "(?<![A-Za-z0-9])npm_[A-Za-z0-9]{30,}", flags: "" },
26
+ { name: "stripe-live-key", kind: "token", pattern: "(?<![A-Za-z0-9])(?:sk|pk|rk)_live_[A-Za-z0-9]{20,}", flags: "" },
27
+ { name: "digitalocean-token", kind: "token", pattern: "(?<![A-Za-z0-9])dop_v1_[A-Za-z0-9]{32,}", flags: "" },
28
+ { name: "shopify-token", kind: "token", pattern: "(?<![A-Za-z0-9])shpat_[A-Za-z0-9]{32,}", flags: "" },
29
+ { name: "medicine-wheel-token", kind: "token", pattern: "(?<![A-Za-z0-9])mwt_[A-Za-z0-9_-]{32,}", flags: "" },
30
+ { name: "miadi-reader-token", kind: "token", pattern: "(?<![A-Za-z0-9])mr_[A-Za-z0-9]{32,}", flags: "" },
31
+ { name: "jwt", kind: "token", pattern: "(?<![A-Za-z0-9])eyJ[A-Za-z0-9_-]{8,}\\.[A-Za-z0-9_-]{8,}\\.[A-Za-z0-9_-]{8,}", flags: "" },
32
+ { name: "bearer", kind: "labelled", pattern: "(\\bBearer\\s+)([A-Za-z0-9._~+/=-]{12,})", flags: "i" },
33
+ { name: "secret-assignment", kind: "labelled", pattern: "(\\b[A-Za-z0-9_.-]*(?:api[_-]?key|secret|token|passwd|password|client[_-]?secret|access[_-]?key|private[_-]?key|auth[_-]?token)[A-Za-z0-9_.-]*\\b[\"'\\s]*[:=]\\s*[\"']?)([A-Za-z0-9][A-Za-z0-9/_+.=~:-]{7,})", flags: "i" },
34
+ ];
35
+ /** A secret as its first 6 characters (4 when shorter than 7) followed by `***`. */
36
+ export function redactSecretValue(value) {
37
+ const keep = value.length >= 7 ? 6 : value.length >= 4 ? 4 : value.length;
38
+ return value.slice(0, keep) + TIDE_SECRET_MASK;
39
+ }
40
+ const compiled = TIDE_SECRET_RULES.map(rule => ({ rule, regex: new RegExp(rule.pattern, rule.flags + "g") }));
41
+ /**
42
+ * Text with every credential the rules know redacted. Running it again changes
43
+ * nothing, so a capture ironsilk already redacted passes through unchanged.
44
+ */
45
+ export function sanitizeSecrets(text) {
46
+ let out = text;
47
+ for (const { rule, regex } of compiled) {
48
+ if (rule.kind === "block") {
49
+ const replacement = rule.replacement ?? TIDE_SECRET_MASK;
50
+ out = out.replace(regex, () => replacement);
51
+ }
52
+ else if (rule.kind === "labelled") {
53
+ out = out.replace(regex, (_match, label, value) => label + redactSecretValue(value));
54
+ }
55
+ else {
56
+ out = out.replace(regex, match => redactSecretValue(match));
57
+ }
58
+ }
59
+ return out;
60
+ }
10
61
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,mDAAmD;AACnD,iFAAiF;AAEjF,MAAM,CAAC,MAAM,kBAAkB,GAAG,gDAAgD,CAAA;AAClF,MAAM,CAAC,MAAM,gBAAgB,GAAG,MAAM,CAAA;AACtC,MAAM,CAAC,MAAM,mBAAmB,GAAG,YAAY,CAAA;AAC/C,MAAM,CAAC,MAAM,uBAAuB,GAAG,oBAAoB,CAAA;AAC3D,MAAM,CAAC,MAAM,4BAA4B,GAAG,sBAAsB,CAAA;AAsblE,+EAA+E;AAE/E,cAAc,uBAAuB,CAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@miadi/tide-contract",
3
- "version": "0.3.3",
3
+ "version": "0.3.5",
4
4
  "description": "Schema-first Tide API contract shared by Miadi and the IronSilk tide runtime.",
5
5
  "license": "MIT",
6
6
  "publishConfig": {
@@ -12,7 +12,8 @@
12
12
  "exports": {
13
13
  ".": {
14
14
  "types": "./dist/index.d.ts",
15
- "import": "./dist/index.js"
15
+ "import": "./dist/index.js",
16
+ "default": "./dist/index.js"
16
17
  },
17
18
  "./schema/tide-api.schema.json": "./schema/tide-api.schema.json",
18
19
  "./schema/secret-redaction.json": "./schema/secret-redaction.json",
@@ -1,5 +1,5 @@
1
1
  {
2
- "$comment": "Ordered credential-redaction rules for pane captures (jgwill/Miadi#745). Applied top to bottom. Patterns use the regex subset JavaScript and Python share. 'token': the whole match is redacted. 'labelled': group 1 is kept and group 2 is redacted. 'block': the whole match becomes 'replacement'. A redacted value keeps its first 6 characters (4 when shorter than 7) followed by '***'. Mirrors jgwill/miadi-orchestration-kit claude/miadi-session-observability/hooks/secret_capture_sanitizer.sh, with a left boundary on prefixed tokens. src/secret-redaction.ts and ironsilk's tide_runtime/secret_redaction.json are held equal to this file by tests.",
2
+ "$comment": "Ordered credential-redaction rules for pane captures (jgwill/Miadi#745). Applied top to bottom. Patterns use the regex subset JavaScript and Python share. 'token': the whole match is redacted. 'labelled': group 1 is kept and group 2 is redacted. 'block': the whole match becomes 'replacement'. A redacted value keeps its first 6 characters (4 when shorter than 7) followed by '***'. Mirrors jgwill/miadi-orchestration-kit claude/miadi-session-observability/hooks/secret_capture_sanitizer.sh, with a left boundary on prefixed tokens. src/index.ts (TIDE_SECRET_RULES) and ironsilk's tide_runtime/secret_redaction.json are held equal to this file by tests.",
3
3
  "version": 1,
4
4
  "mask": "***",
5
5
  "rules": [
@@ -1,22 +0,0 @@
1
- export type TideSecretRuleKind = "token" | "labelled" | "block";
2
- export interface TideSecretRule {
3
- name: string;
4
- /** token: the whole match is redacted. labelled: group 1 is kept, group 2 is redacted. block: the whole match becomes `replacement`. */
5
- kind: TideSecretRuleKind;
6
- /** A regex in the subset JavaScript and Python share. */
7
- pattern: string;
8
- /** "" or "i". */
9
- flags: string;
10
- replacement?: string;
11
- }
12
- export declare const TIDE_SECRET_MASK = "***";
13
- /** Applied top to bottom. */
14
- export declare const TIDE_SECRET_RULES: readonly TideSecretRule[];
15
- /** A secret as its first 6 characters (4 when shorter than 7) followed by `***`. */
16
- export declare function redactSecretValue(value: string): string;
17
- /**
18
- * Text with every credential the rules know redacted. Running it again changes
19
- * nothing, so a capture ironsilk already redacted passes through unchanged.
20
- */
21
- export declare function sanitizeSecrets(text: string): string;
22
- //# sourceMappingURL=secret-redaction.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"secret-redaction.d.ts","sourceRoot":"","sources":["../src/secret-redaction.ts"],"names":[],"mappings":"AAOA,MAAM,MAAM,kBAAkB,GAAG,OAAO,GAAG,UAAU,GAAG,OAAO,CAAA;AAE/D,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,MAAM,CAAA;IACZ,wIAAwI;IACxI,IAAI,EAAE,kBAAkB,CAAA;IACxB,yDAAyD;IACzD,OAAO,EAAE,MAAM,CAAA;IACf,iBAAiB;IACjB,KAAK,EAAE,MAAM,CAAA;IACb,WAAW,CAAC,EAAE,MAAM,CAAA;CACrB;AAED,eAAO,MAAM,gBAAgB,QAAQ,CAAA;AAErC,6BAA6B;AAC7B,eAAO,MAAM,iBAAiB,EAAE,SAAS,cAAc,EAwBtD,CAAA;AAED,oFAAoF;AACpF,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAGvD;AAID;;;GAGG;AACH,wBAAgB,eAAe,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAapD"}
@@ -1,60 +0,0 @@
1
- // Credential redaction for pane captures (jgwill/Miadi#745).
2
- //
3
- // schema/secret-redaction.json is the rule list; TIDE_SECRET_RULES mirrors it
4
- // and test/secret-redaction.test.ts holds the two equal. Change the JSON first.
5
- // ironsilk carries its own copy (tide_runtime/secret_redaction.json), held equal
6
- // to the same JSON by its tests.
7
- export const TIDE_SECRET_MASK = "***";
8
- /** Applied top to bottom. */
9
- export const TIDE_SECRET_RULES = [
10
- { name: "private-key-block", kind: "block", pattern: "-----BEGIN [^-]*PRIVATE KEY-----[\\s\\S]*?-----END [^-]*PRIVATE KEY-----", flags: "", replacement: "-----BEGIN PRIVATE KEY-----***-----END PRIVATE KEY-----" },
11
- { name: "putty-key", kind: "block", pattern: "PuTTY-User-Key-File-[0-9][\\s\\S]*?(?:Private-MAC:[^\\n]*|$)", flags: "", replacement: "PuTTY-User-Key-File-***" },
12
- { name: "aws-access-key", kind: "token", pattern: "(?<![A-Za-z0-9])AKIA[0-9A-Z]{16}", flags: "" },
13
- { name: "aws-session-key", kind: "token", pattern: "(?<![A-Za-z0-9])ASIA[0-9A-Z]{16}", flags: "" },
14
- { name: "github-token", kind: "token", pattern: "(?<![A-Za-z0-9])gh[pousr]_[A-Za-z0-9_]{20,}", flags: "" },
15
- { name: "github-pat", kind: "token", pattern: "(?<![A-Za-z0-9])github_pat_[A-Za-z0-9_]{20,}", flags: "" },
16
- { name: "gitlab-pat", kind: "token", pattern: "(?<![A-Za-z0-9])glpat-[A-Za-z0-9_-]{18,}", flags: "" },
17
- { name: "anthropic-key", kind: "token", pattern: "(?<![A-Za-z0-9])sk-ant-[A-Za-z0-9_-]{20,}", flags: "" },
18
- { name: "openai-project-key", kind: "token", pattern: "(?<![A-Za-z0-9])sk-proj-[A-Za-z0-9_-]{20,}", flags: "" },
19
- { name: "openai-key", kind: "token", pattern: "(?<![A-Za-z0-9])sk-[A-Za-z0-9_-]{20,}", flags: "" },
20
- { name: "slack-token", kind: "token", pattern: "(?<![A-Za-z0-9])xox[baprs]-[A-Za-z0-9-]{10,}", flags: "" },
21
- { name: "google-api-key", kind: "token", pattern: "(?<![A-Za-z0-9])AIza[0-9A-Za-z_-]{35}", flags: "" },
22
- { name: "google-oauth-token", kind: "token", pattern: "(?<![A-Za-z0-9])ya29\\.[0-9A-Za-z_-]{20,}", flags: "" },
23
- { name: "huggingface-token", kind: "token", pattern: "(?<![A-Za-z0-9])hf_[A-Za-z0-9]{20,}", flags: "" },
24
- { name: "npm-token", kind: "token", pattern: "(?<![A-Za-z0-9])npm_[A-Za-z0-9]{30,}", flags: "" },
25
- { name: "stripe-live-key", kind: "token", pattern: "(?<![A-Za-z0-9])(?:sk|pk|rk)_live_[A-Za-z0-9]{20,}", flags: "" },
26
- { name: "digitalocean-token", kind: "token", pattern: "(?<![A-Za-z0-9])dop_v1_[A-Za-z0-9]{32,}", flags: "" },
27
- { name: "shopify-token", kind: "token", pattern: "(?<![A-Za-z0-9])shpat_[A-Za-z0-9]{32,}", flags: "" },
28
- { name: "medicine-wheel-token", kind: "token", pattern: "(?<![A-Za-z0-9])mwt_[A-Za-z0-9_-]{32,}", flags: "" },
29
- { name: "miadi-reader-token", kind: "token", pattern: "(?<![A-Za-z0-9])mr_[A-Za-z0-9]{32,}", flags: "" },
30
- { name: "jwt", kind: "token", pattern: "(?<![A-Za-z0-9])eyJ[A-Za-z0-9_-]{8,}\\.[A-Za-z0-9_-]{8,}\\.[A-Za-z0-9_-]{8,}", flags: "" },
31
- { name: "bearer", kind: "labelled", pattern: "(\\bBearer\\s+)([A-Za-z0-9._~+/=-]{12,})", flags: "i" },
32
- { name: "secret-assignment", kind: "labelled", pattern: "(\\b[A-Za-z0-9_.-]*(?:api[_-]?key|secret|token|passwd|password|client[_-]?secret|access[_-]?key|private[_-]?key|auth[_-]?token)[A-Za-z0-9_.-]*\\b[\"'\\s]*[:=]\\s*[\"']?)([A-Za-z0-9][A-Za-z0-9/_+.=~:-]{7,})", flags: "i" },
33
- ];
34
- /** A secret as its first 6 characters (4 when shorter than 7) followed by `***`. */
35
- export function redactSecretValue(value) {
36
- const keep = value.length >= 7 ? 6 : value.length >= 4 ? 4 : value.length;
37
- return value.slice(0, keep) + TIDE_SECRET_MASK;
38
- }
39
- const compiled = TIDE_SECRET_RULES.map(rule => ({ rule, regex: new RegExp(rule.pattern, rule.flags + "g") }));
40
- /**
41
- * Text with every credential the rules know redacted. Running it again changes
42
- * nothing, so a capture ironsilk already redacted passes through unchanged.
43
- */
44
- export function sanitizeSecrets(text) {
45
- let out = text;
46
- for (const { rule, regex } of compiled) {
47
- if (rule.kind === "block") {
48
- const replacement = rule.replacement ?? TIDE_SECRET_MASK;
49
- out = out.replace(regex, () => replacement);
50
- }
51
- else if (rule.kind === "labelled") {
52
- out = out.replace(regex, (_match, label, value) => label + redactSecretValue(value));
53
- }
54
- else {
55
- out = out.replace(regex, match => redactSecretValue(match));
56
- }
57
- }
58
- return out;
59
- }
60
- //# sourceMappingURL=secret-redaction.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"secret-redaction.js","sourceRoot":"","sources":["../src/secret-redaction.ts"],"names":[],"mappings":"AAAA,6DAA6D;AAC7D,EAAE;AACF,8EAA8E;AAC9E,gFAAgF;AAChF,iFAAiF;AACjF,iCAAiC;AAejC,MAAM,CAAC,MAAM,gBAAgB,GAAG,KAAK,CAAA;AAErC,6BAA6B;AAC7B,MAAM,CAAC,MAAM,iBAAiB,GAA8B;IAC1D,EAAE,IAAI,EAAE,mBAAmB,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,0EAA0E,EAAE,KAAK,EAAE,EAAE,EAAE,WAAW,EAAE,yDAAyD,EAAE;IACpN,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,8DAA8D,EAAE,KAAK,EAAE,EAAE,EAAE,WAAW,EAAE,yBAAyB,EAAE;IAChK,EAAE,IAAI,EAAE,gBAAgB,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,kCAAkC,EAAE,KAAK,EAAE,EAAE,EAAE;IACjG,EAAE,IAAI,EAAE,iBAAiB,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,kCAAkC,EAAE,KAAK,EAAE,EAAE,EAAE;IAClG,EAAE,IAAI,EAAE,cAAc,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,6CAA6C,EAAE,KAAK,EAAE,EAAE,EAAE;IAC1G,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,8CAA8C,EAAE,KAAK,EAAE,EAAE,EAAE;IACzG,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,0CAA0C,EAAE,KAAK,EAAE,EAAE,EAAE;IACrG,EAAE,IAAI,EAAE,eAAe,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,2CAA2C,EAAE,KAAK,EAAE,EAAE,EAAE;IACzG,EAAE,IAAI,EAAE,oBAAoB,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,4CAA4C,EAAE,KAAK,EAAE,EAAE,EAAE;IAC/G,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,uCAAuC,EAAE,KAAK,EAAE,EAAE,EAAE;IAClG,EAAE,IAAI,EAAE,aAAa,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,8CAA8C,EAAE,KAAK,EAAE,EAAE,EAAE;IAC1G,EAAE,IAAI,EAAE,gBAAgB,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,uCAAuC,EAAE,KAAK,EAAE,EAAE,EAAE;IACtG,EAAE,IAAI,EAAE,oBAAoB,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,2CAA2C,EAAE,KAAK,EAAE,EAAE,EAAE;IAC9G,EAAE,IAAI,EAAE,mBAAmB,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,qCAAqC,EAAE,KAAK,EAAE,EAAE,EAAE;IACvG,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,sCAAsC,EAAE,KAAK,EAAE,EAAE,EAAE;IAChG,EAAE,IAAI,EAAE,iBAAiB,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,oDAAoD,EAAE,KAAK,EAAE,EAAE,EAAE;IACpH,EAAE,IAAI,EAAE,oBAAoB,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,yCAAyC,EAAE,KAAK,EAAE,EAAE,EAAE;IAC5G,EAAE,IAAI,EAAE,eAAe,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,wCAAwC,EAAE,KAAK,EAAE,EAAE,EAAE;IACtG,EAAE,IAAI,EAAE,sBAAsB,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,wCAAwC,EAAE,KAAK,EAAE,EAAE,EAAE;IAC7G,EAAE,IAAI,EAAE,oBAAoB,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,qCAAqC,EAAE,KAAK,EAAE,EAAE,EAAE;IACxG,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,8EAA8E,EAAE,KAAK,EAAE,EAAE,EAAE;IAClI,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,UAAU,EAAE,OAAO,EAAE,0CAA0C,EAAE,KAAK,EAAE,GAAG,EAAE;IACrG,EAAE,IAAI,EAAE,mBAAmB,EAAE,IAAI,EAAE,UAAU,EAAE,OAAO,EAAE,+MAA+M,EAAE,KAAK,EAAE,GAAG,EAAE;CACtR,CAAA;AAED,oFAAoF;AACpF,MAAM,UAAU,iBAAiB,CAAC,KAAa;IAC7C,MAAM,IAAI,GAAG,KAAK,CAAC,MAAM,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,CAAA;IACzE,OAAO,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,gBAAgB,CAAA;AAChD,CAAC;AAED,MAAM,QAAQ,GAAG,iBAAiB,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,KAAK,GAAG,GAAG,CAAC,EAAE,CAAC,CAAC,CAAA;AAE7G;;;GAGG;AACH,MAAM,UAAU,eAAe,CAAC,IAAY;IAC1C,IAAI,GAAG,GAAG,IAAI,CAAA;IACd,KAAK,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,QAAQ,EAAE,CAAC;QACvC,IAAI,IAAI,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;YAC1B,MAAM,WAAW,GAAG,IAAI,CAAC,WAAW,IAAI,gBAAgB,CAAA;YACxD,GAAG,GAAG,GAAG,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,EAAE,CAAC,WAAW,CAAC,CAAA;QAC7C,CAAC;aAAM,IAAI,IAAI,CAAC,IAAI,KAAK,UAAU,EAAE,CAAC;YACpC,GAAG,GAAG,GAAG,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC,MAAM,EAAE,KAAa,EAAE,KAAa,EAAE,EAAE,CAAC,KAAK,GAAG,iBAAiB,CAAC,KAAK,CAAC,CAAC,CAAA;QACtG,CAAC;aAAM,CAAC;YACN,GAAG,GAAG,GAAG,CAAC,OAAO,CAAC,KAAK,EAAE,KAAK,CAAC,EAAE,CAAC,iBAAiB,CAAC,KAAK,CAAC,CAAC,CAAA;QAC7D,CAAC;IACH,CAAC;IACD,OAAO,GAAG,CAAA;AACZ,CAAC"}