@pome-sh/checks 0.1.0 → 0.1.2
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/CHANGELOG.md +41 -0
- package/dist/_types/sdk/check-redaction.d.ts +53 -0
- package/dist/_types/sdk/checks.d.ts +1 -0
- package/dist/{chunk-SJ6SVRAA.js → chunk-5PDF3GCK.js} +18 -2
- package/dist/{chunk-GYFGMULG.js → chunk-SA23X6PB.js} +7 -2
- package/dist/{chunk-NORTPYDQ.js → chunk-THOSO63W.js} +1 -1
- package/dist/{chunk-5SJ4PVO5.js → chunk-UCV6YLN2.js} +1 -1
- package/dist/{chunk-4WXX5VPA.js → chunk-W2JNYULF.js} +98 -1
- package/dist/{chunk-IVENH4KX.js → chunk-XOUAZPNB.js} +1 -1
- package/dist/dsl.js +1 -1
- package/dist/github.js +2 -2
- package/dist/gmail.js +2 -2
- package/dist/index.js +11 -11
- package/dist/linear.js +2 -2
- package/dist/slack.js +2 -2
- package/dist/stripe.js +2 -2
- package/package.json +2 -2
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,46 @@
|
|
|
1
1
|
# @pome-sh/checks
|
|
2
2
|
|
|
3
|
+
## 0.1.2
|
|
4
|
+
|
|
5
|
+
Carries F-1157 to the grader. Three things move in `dist/`:
|
|
6
|
+
|
|
7
|
+
- `@pome-sh/checks/dsl` gains `probeRedactionSurvival`, `REDACTION_PLACEHOLDER`
|
|
8
|
+
and `isRedacted` — the measurement of what protects a criterion whose
|
|
9
|
+
redaction-destroyed literal is NOT its declared `subject`. `REDACTION_PLACEHOLDER`
|
|
10
|
+
is the check-side half of a cross-repo contract: the token pome-cloud's state
|
|
11
|
+
redactor writes is the token these predicates recognise, and it is declared
|
|
12
|
+
once here rather than spelled twice.
|
|
13
|
+
- `@pome-sh/checks/gmail` — `gmail.mailbox-label-count` answers
|
|
14
|
+
`mailbox_redacted ("…")` where the mailbox row survived with its address
|
|
15
|
+
masked, and keeps `mailbox_not_found ("…")` for an export that lists real
|
|
16
|
+
addresses and not this one. Same `skipped` status either way; only the reason
|
|
17
|
+
a report renders changes.
|
|
18
|
+
- `@pome-sh/checks/slack` — `slack.no-reaction-added` declares its reaction name
|
|
19
|
+
as its `subject`, so the engine's redaction-survival arm skips such a
|
|
20
|
+
criterion at the door instead of letting a masked `reactions[].name` satisfy
|
|
21
|
+
a negative assertion.
|
|
22
|
+
|
|
23
|
+
## 0.1.1
|
|
24
|
+
|
|
25
|
+
No change to the published surface — `dist/` is byte-identical to 0.1.0, so no
|
|
26
|
+
declaration moved and no consumer's verdict changes. What moved is the test that
|
|
27
|
+
protects that surface, and it moved because the surface acquired a real consumer:
|
|
28
|
+
pome-cloud F-1349 pointed all 19 of its grading import sites here, so the
|
|
29
|
+
per-twin subpaths are now load-bearing rather than provided-for-later.
|
|
30
|
+
|
|
31
|
+
- `per-twin subpaths` pins each twin's seed schema by its EXACT name instead of
|
|
32
|
+
asking whether any of three names is present. The old assertion passed as long
|
|
33
|
+
as one of `seedSchema` / `gmailSeedSchema` / `linearSeedSchema` existed on the
|
|
34
|
+
module, so gmail exporting `seedSchema` would have been green here and a
|
|
35
|
+
compile error in the consumer.
|
|
36
|
+
- The same arm now pins `defaultSeedState` (github/gmail/linear/slack) and
|
|
37
|
+
`defaultSeed` (stripe), which nothing pinned before. The barrel exports the
|
|
38
|
+
same values under prefixed aliases (`defaultGitHubSeed`, …) and the barrel arm
|
|
39
|
+
covers those, so a subpath dropping or renaming them was invisible.
|
|
40
|
+
- Each subpath's default seed is called and round-tripped through that subpath's
|
|
41
|
+
own `parseSeed`, since a factory that is present but broken reads the same as
|
|
42
|
+
one that works.
|
|
43
|
+
|
|
3
44
|
## 0.1.0
|
|
4
45
|
|
|
5
46
|
First release. Carries the grading vocabulary of all five digital twins so a
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
import type { CheckDefinition } from "./checks.js";
|
|
2
|
+
/**
|
|
3
|
+
* The token a scoring redactor leaves in place of a value it masked.
|
|
4
|
+
*
|
|
5
|
+
* Declared HERE rather than imported from `@pome-sh/wire`, and the distinction
|
|
6
|
+
* is not pedantic. Wire's redactor scrubs secrets out of a recorded TRACE on the
|
|
7
|
+
* way to disk; the redactor that eats a check's literal is the consuming
|
|
8
|
+
* engine's STATE redactor, which runs in pome-cloud against a team's own config.
|
|
9
|
+
* Two producers, two lifetimes — they agree on the bytes today, and making one
|
|
10
|
+
* import the other's constant would assert a shared fact neither repo checks.
|
|
11
|
+
*
|
|
12
|
+
* So this is the check-side half of that contract, published on
|
|
13
|
+
* `@pome-sh/checks/dsl` so the engine writing the token and the predicates
|
|
14
|
+
* recognising it can read it from one place.
|
|
15
|
+
*/
|
|
16
|
+
export declare const REDACTION_PLACEHOLDER = "[REDACTED]";
|
|
17
|
+
/**
|
|
18
|
+
* Did a redactor eat this value?
|
|
19
|
+
*
|
|
20
|
+
* A recogniser, not a proof: a team whose config writes some other placeholder
|
|
21
|
+
* gets `false` here, and the predicate that asked falls back to whatever it said
|
|
22
|
+
* before — the status quo, never a wrong verdict. Which is why the vacuous-pass
|
|
23
|
+
* gate below does not depend on this function at all: it destroys the literal
|
|
24
|
+
* itself and reads the verdict, so a check that never calls `isRedacted` is
|
|
25
|
+
* measured exactly as strictly as one that does.
|
|
26
|
+
*/
|
|
27
|
+
export declare function isRedacted(value: string | null | undefined): boolean;
|
|
28
|
+
export type RedactionGuard = "declared_subject" | "vacuous_pass" | "abstains" | "false_fail" | "discriminates_anyway" | "absent_from_world" | "throws";
|
|
29
|
+
export interface RedactionSurvivalRow {
|
|
30
|
+
readonly param: string;
|
|
31
|
+
readonly guard: RedactionGuard;
|
|
32
|
+
readonly detail: string;
|
|
33
|
+
}
|
|
34
|
+
export type RedactionSurvivalVerdict = {
|
|
35
|
+
kind: "measured";
|
|
36
|
+
rows: readonly RedactionSurvivalRow[];
|
|
37
|
+
} | {
|
|
38
|
+
kind: "declined";
|
|
39
|
+
};
|
|
40
|
+
/**
|
|
41
|
+
* For every slot this check declares, what stands between a redactor that eats
|
|
42
|
+
* that slot's literal and a vacuous pass.
|
|
43
|
+
*
|
|
44
|
+
* The subject arm is credited without evaluating: when the destroyed literal IS
|
|
45
|
+
* (or is inside) the declared subject, the engine never calls `evaluate`, so
|
|
46
|
+
* running the predicate anyway would measure a code path production cannot
|
|
47
|
+
* reach and file its answer under this check's name.
|
|
48
|
+
*
|
|
49
|
+
* `includes`, not equality, on that comparison. A subject is usually one arg
|
|
50
|
+
* verbatim, but a declaration may compose one, and a redactor that masks a
|
|
51
|
+
* component masks the composed string too.
|
|
52
|
+
*/
|
|
53
|
+
export declare function probeRedactionSurvival<TState, TArgs extends Record<string, string>>(def: CheckDefinition<TState, TArgs>, args: TArgs): RedactionSurvivalVerdict;
|
|
@@ -91,3 +91,4 @@ export declare function checkNearMissPattern(def: CheckBindingShape): RegExp;
|
|
|
91
91
|
export declare function parseCheck<TState, TArgs extends Record<string, string>>(def: CheckDefinition<TState, TArgs>, text: string): TArgs | null;
|
|
92
92
|
export { probeDiscrimination } from "./check-discrimination.js";
|
|
93
93
|
export { statePath, childStatePath, resolveStatePath, probeStateCitation, type StateCitationArm, type StateCitationVerdict, } from "./check-state-path.js";
|
|
94
|
+
export { REDACTION_PLACEHOLDER, isRedacted, probeRedactionSurvival, type RedactionGuard, type RedactionSurvivalRow, type RedactionSurvivalVerdict, } from "./check-redaction.js";
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { oneOf, statePath, defineCheck, VACUITY_SENTINEL, childStatePath } from './chunk-
|
|
1
|
+
import { oneOf, statePath, defineCheck, VACUITY_SENTINEL, childStatePath } from './chunk-W2JNYULF.js';
|
|
2
2
|
import { z } from 'zod';
|
|
3
3
|
|
|
4
4
|
// ../twin-slack/dist/src/check-params.js
|
|
@@ -178,7 +178,23 @@ var noReactionAdded = defineCheck({
|
|
|
178
178
|
params: { reaction: emojiName, channel: channelName },
|
|
179
179
|
substrate: "final",
|
|
180
180
|
polarity: () => "negative",
|
|
181
|
-
|
|
181
|
+
// The reaction name, because that is the literal this predicate compares
|
|
182
|
+
// against `reactions[].name` — the line below has said so since the check
|
|
183
|
+
// shipped, and this field said `null` anyway (F-1157).
|
|
184
|
+
//
|
|
185
|
+
// It is the sharpest case in the vocabulary for why that mattered. A NEGATIVE
|
|
186
|
+
// criterion asserting a scanned literal is absent reads a redactor's work as
|
|
187
|
+
// its own verdict: mask `reactions[].name` and the filter matches nothing, so
|
|
188
|
+
// `No "white_check_mark" reaction was added` passes — over an export where the
|
|
189
|
+
// agent added exactly that reaction. `probeRedactionSurvival` found it by
|
|
190
|
+
// destroying this literal in the FAILING world declared below and watching
|
|
191
|
+
// that world start to pass; it was the one `vacuous_pass` across all five
|
|
192
|
+
// twins' 45 declarations.
|
|
193
|
+
//
|
|
194
|
+
// Contrast `slack.no-message-posted` above, whose null is deliberate: its only
|
|
195
|
+
// literal RESOLVES a channel and the count it asserts on is derived. This one
|
|
196
|
+
// scans.
|
|
197
|
+
subject: ({ reaction }) => reaction,
|
|
182
198
|
// The channel RESOLVES (a miss already skips); the reaction name is SCANNED.
|
|
183
199
|
// D10: falsify the scanned one.
|
|
184
200
|
vacuityMutant: (args) => ({ ...args, reaction: VACUITY_SENTINEL }),
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { statePath, defineCheck, VACUITY_SENTINEL, childStatePath, VACUITY_SENTINEL_NUMBER } from './chunk-
|
|
1
|
+
import { statePath, defineCheck, VACUITY_SENTINEL, childStatePath, VACUITY_SENTINEL_NUMBER, isRedacted } from './chunk-W2JNYULF.js';
|
|
2
2
|
import { z } from 'zod';
|
|
3
3
|
|
|
4
4
|
// ../twin-gmail/dist/src/check-params.js
|
|
@@ -437,7 +437,12 @@ var mailboxLabelCount = defineCheck({
|
|
|
437
437
|
return { passed: false, status: "skipped", reason: "collection_truncated" };
|
|
438
438
|
}
|
|
439
439
|
if (final.mailboxes != null && !final.mailboxes.some((mb) => (mb.email ?? "").toLowerCase() === mailbox.toLowerCase())) {
|
|
440
|
-
|
|
440
|
+
const eaten = final.mailboxes.some((mb) => isRedacted(mb.email));
|
|
441
|
+
return {
|
|
442
|
+
passed: false,
|
|
443
|
+
status: "skipped",
|
|
444
|
+
reason: eaten ? `mailbox_redacted ("${mailbox}")` : `mailbox_not_found ("${mailbox}")`
|
|
445
|
+
};
|
|
441
446
|
}
|
|
442
447
|
const ids = labelIdsFor(final, label);
|
|
443
448
|
const labeled = new Set(final.messageLabels.filter((row) => ids.has((row.labelId ?? "").toLowerCase())).map((row) => (row.messageId ?? "").toLowerCase()));
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { statePath, defineCheck, VACUITY_SENTINEL, VACUITY_SENTINEL_NUMBER, childStatePath } from './chunk-
|
|
1
|
+
import { statePath, defineCheck, VACUITY_SENTINEL, VACUITY_SENTINEL_NUMBER, childStatePath } from './chunk-W2JNYULF.js';
|
|
2
2
|
import { z } from 'zod';
|
|
3
3
|
|
|
4
4
|
// ../twin-linear/dist/src/check-params.js
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { oneOf, defineCheck, repoRef, VACUITY_SENTINEL_NUMBER, childStatePath, VACUITY_SENTINEL, statePath } from './chunk-
|
|
1
|
+
import { oneOf, defineCheck, repoRef, VACUITY_SENTINEL_NUMBER, childStatePath, VACUITY_SENTINEL, statePath } from './chunk-W2JNYULF.js';
|
|
2
2
|
import { z } from 'zod';
|
|
3
3
|
|
|
4
4
|
// ../twin-github/dist/src/tape-assertable-tools.js
|
|
@@ -120,6 +120,103 @@ function probeStateCitation(def, args) {
|
|
|
120
120
|
return passing;
|
|
121
121
|
return probeArm(def, args, "failing", worlds.failing);
|
|
122
122
|
}
|
|
123
|
+
|
|
124
|
+
// ../sdk/dist/check-redaction.js
|
|
125
|
+
var REDACTION_PLACEHOLDER = "[REDACTED]";
|
|
126
|
+
function isRedacted(value) {
|
|
127
|
+
return value === REDACTION_PLACEHOLDER;
|
|
128
|
+
}
|
|
129
|
+
function destroyLiteral(tree, literal) {
|
|
130
|
+
const wanted = literal.toLowerCase();
|
|
131
|
+
let hit = false;
|
|
132
|
+
const walk = (node) => {
|
|
133
|
+
if (typeof node === "string") {
|
|
134
|
+
if (node.toLowerCase() !== wanted)
|
|
135
|
+
return node;
|
|
136
|
+
hit = true;
|
|
137
|
+
return REDACTION_PLACEHOLDER;
|
|
138
|
+
}
|
|
139
|
+
if (Array.isArray(node))
|
|
140
|
+
return node.map(walk);
|
|
141
|
+
if (node === null || typeof node !== "object")
|
|
142
|
+
return node;
|
|
143
|
+
return Object.fromEntries(Object.entries(node).map(([key, value]) => [key, walk(value)]));
|
|
144
|
+
};
|
|
145
|
+
return { tree: walk(tree), hit };
|
|
146
|
+
}
|
|
147
|
+
function destroyWorld(world, literal) {
|
|
148
|
+
const seed = destroyLiteral(world.seed, literal);
|
|
149
|
+
const final = destroyLiteral(world.final, literal);
|
|
150
|
+
const tape = destroyLiteral(world.tape, literal);
|
|
151
|
+
return {
|
|
152
|
+
world: {
|
|
153
|
+
seed: seed.tree,
|
|
154
|
+
final: final.tree,
|
|
155
|
+
tape: tape.tree
|
|
156
|
+
},
|
|
157
|
+
hit: seed.hit || final.hit || tape.hit
|
|
158
|
+
};
|
|
159
|
+
}
|
|
160
|
+
var describeOutcome2 = (outcome) => `passed=${outcome.passed} status=${outcome.status ?? "-"} reason=${JSON.stringify(outcome.reason)}`;
|
|
161
|
+
function say(evaluate) {
|
|
162
|
+
try {
|
|
163
|
+
return evaluate();
|
|
164
|
+
} catch (error) {
|
|
165
|
+
return { threw: error instanceof Error ? error.message : String(error) };
|
|
166
|
+
}
|
|
167
|
+
}
|
|
168
|
+
var isRealPass2 = (outcome) => outcome.passed === true && (outcome.status === void 0 || outcome.status === "passed");
|
|
169
|
+
function classify(passing, failing) {
|
|
170
|
+
if ("threw" in passing)
|
|
171
|
+
return { guard: "throws", detail: `passing world: ${passing.threw}` };
|
|
172
|
+
if ("threw" in failing)
|
|
173
|
+
return { guard: "throws", detail: `failing world: ${failing.threw}` };
|
|
174
|
+
if (isRealPass2(failing)) {
|
|
175
|
+
return { guard: "vacuous_pass", detail: `failing world now passes \u2014 ${describeOutcome2(failing)}` };
|
|
176
|
+
}
|
|
177
|
+
if (passing.status === "skipped") {
|
|
178
|
+
return { guard: "abstains", detail: describeOutcome2(passing) };
|
|
179
|
+
}
|
|
180
|
+
if (isRealPass2(passing)) {
|
|
181
|
+
return { guard: "discriminates_anyway", detail: describeOutcome2(passing) };
|
|
182
|
+
}
|
|
183
|
+
return { guard: "false_fail", detail: `passing world now fails \u2014 ${describeOutcome2(passing)}` };
|
|
184
|
+
}
|
|
185
|
+
function probeRedactionSurvival(def, args) {
|
|
186
|
+
const worlds = def.discriminatingWorlds(args);
|
|
187
|
+
if (worlds === null)
|
|
188
|
+
return { kind: "declined" };
|
|
189
|
+
const subject = def.subject?.(args) ?? null;
|
|
190
|
+
const rows = [];
|
|
191
|
+
for (const param of Object.keys(def.params)) {
|
|
192
|
+
const literal = args[param];
|
|
193
|
+
if (typeof literal !== "string" || literal === "")
|
|
194
|
+
continue;
|
|
195
|
+
if (subject !== null && subject.toLowerCase().includes(literal.toLowerCase())) {
|
|
196
|
+
rows.push({
|
|
197
|
+
param,
|
|
198
|
+
guard: "declared_subject",
|
|
199
|
+
detail: `the engine skips the criterion before evaluate \u2014 subject ${JSON.stringify(subject)}`
|
|
200
|
+
});
|
|
201
|
+
continue;
|
|
202
|
+
}
|
|
203
|
+
const passing = destroyWorld(worlds.passing, literal);
|
|
204
|
+
const failing = destroyWorld(worlds.failing, literal);
|
|
205
|
+
if (!passing.hit && !failing.hit) {
|
|
206
|
+
rows.push({
|
|
207
|
+
param,
|
|
208
|
+
guard: "absent_from_world",
|
|
209
|
+
detail: `${JSON.stringify(literal)} appears in neither declared world`
|
|
210
|
+
});
|
|
211
|
+
continue;
|
|
212
|
+
}
|
|
213
|
+
rows.push({
|
|
214
|
+
param,
|
|
215
|
+
...classify(say(() => def.evaluate(args, passing.world)), say(() => def.evaluate(args, failing.world)))
|
|
216
|
+
});
|
|
217
|
+
}
|
|
218
|
+
return { kind: "measured", rows };
|
|
219
|
+
}
|
|
123
220
|
var VACUITY_SENTINEL = "pome-vacuity-never";
|
|
124
221
|
var VACUITY_SENTINEL_SNAKE = "pome_vacuity_never";
|
|
125
222
|
var VACUITY_SENTINEL_NUMBER = 987654321;
|
|
@@ -235,4 +332,4 @@ function parseCheck(def, text) {
|
|
|
235
332
|
return args;
|
|
236
333
|
}
|
|
237
334
|
|
|
238
|
-
export { VACUITY_SENTINEL, VACUITY_SENTINEL_NUMBER, VACUITY_SENTINEL_SNAKE, checkNearMissPattern, checkPattern, checksDigest, childStatePath, defineCheck, oneOf, parseCheck, probeDiscrimination, probeStateCitation, renderCheck, repoRef, resolveStatePath, statePath, templateSlots };
|
|
335
|
+
export { REDACTION_PLACEHOLDER, VACUITY_SENTINEL, VACUITY_SENTINEL_NUMBER, VACUITY_SENTINEL_SNAKE, checkNearMissPattern, checkPattern, checksDigest, childStatePath, defineCheck, isRedacted, oneOf, parseCheck, probeDiscrimination, probeRedactionSurvival, probeStateCitation, renderCheck, repoRef, resolveStatePath, statePath, templateSlots };
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { oneOf, statePath, defineCheck, VACUITY_SENTINEL_NUMBER, VACUITY_SENTINEL, childStatePath } from './chunk-
|
|
1
|
+
import { oneOf, statePath, defineCheck, VACUITY_SENTINEL_NUMBER, VACUITY_SENTINEL, childStatePath } from './chunk-W2JNYULF.js';
|
|
2
2
|
import { z } from 'zod';
|
|
3
3
|
|
|
4
4
|
// ../twin-stripe/dist/src/check-params.js
|
package/dist/dsl.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
import './chunk-ZXE6LAM3.js';
|
|
2
|
-
export { VACUITY_SENTINEL, VACUITY_SENTINEL_NUMBER, VACUITY_SENTINEL_SNAKE, checkNearMissPattern, checkPattern, checksDigest, childStatePath, defineCheck, oneOf, parseCheck, probeDiscrimination, probeStateCitation, renderCheck, repoRef, resolveStatePath, statePath, templateSlots } from './chunk-
|
|
2
|
+
export { REDACTION_PLACEHOLDER, VACUITY_SENTINEL, VACUITY_SENTINEL_NUMBER, VACUITY_SENTINEL_SNAKE, checkNearMissPattern, checkPattern, checksDigest, childStatePath, defineCheck, isRedacted, oneOf, parseCheck, probeDiscrimination, probeRedactionSurvival, probeStateCitation, renderCheck, repoRef, resolveStatePath, statePath, templateSlots } from './chunk-W2JNYULF.js';
|
package/dist/github.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export { GITHUB_CHECKS, defaultSeedState, parseSeed, seedSchema } from './chunk-
|
|
2
|
-
import './chunk-
|
|
1
|
+
export { GITHUB_CHECKS, defaultSeedState, parseSeed, seedSchema } from './chunk-UCV6YLN2.js';
|
|
2
|
+
import './chunk-W2JNYULF.js';
|
package/dist/gmail.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export { GMAIL_CHECKS, defaultSeedState, gmailSeedSchema, parseSeed } from './chunk-
|
|
2
|
-
import './chunk-
|
|
1
|
+
export { GMAIL_CHECKS, defaultSeedState, gmailSeedSchema, parseSeed } from './chunk-SA23X6PB.js';
|
|
2
|
+
import './chunk-W2JNYULF.js';
|
package/dist/index.js
CHANGED
|
@@ -1,15 +1,15 @@
|
|
|
1
1
|
import './chunk-ZXE6LAM3.js';
|
|
2
|
-
import { GITHUB_CHECKS } from './chunk-
|
|
3
|
-
export { GITHUB_CHECKS, defaultSeedState as defaultGitHubSeed, seedSchema as githubSeedSchema, parseSeed as parseGitHubSeed } from './chunk-
|
|
4
|
-
import { GMAIL_CHECKS } from './chunk-
|
|
5
|
-
export { GMAIL_CHECKS, defaultSeedState as defaultGmailSeed, gmailSeedSchema, parseSeed as parseGmailSeed } from './chunk-
|
|
6
|
-
import { LINEAR_CHECKS } from './chunk-
|
|
7
|
-
export { LINEAR_CHECKS, defaultSeedState as defaultLinearSeed, linearSeedSchema, parseSeed as parseLinearSeed } from './chunk-
|
|
8
|
-
import { SLACK_CHECKS } from './chunk-
|
|
9
|
-
export { SLACK_CHECKS, defaultSeedState as defaultSlackSeed, parseSeed as parseSlackSeed, seedSchema as slackSeedSchema } from './chunk-
|
|
10
|
-
import { STRIPE_CHECKS } from './chunk-
|
|
11
|
-
export { STRIPE_CHECKS, defaultSeed as defaultStripeSeed, parseSeed as parseStripeSeed, seedSchema as stripeSeedSchema } from './chunk-
|
|
12
|
-
export { VACUITY_SENTINEL, VACUITY_SENTINEL_NUMBER, VACUITY_SENTINEL_SNAKE, checkNearMissPattern, checkPattern, checksDigest, childStatePath, defineCheck, oneOf, parseCheck, probeDiscrimination, probeStateCitation, renderCheck, repoRef, resolveStatePath, statePath, templateSlots } from './chunk-
|
|
2
|
+
import { GITHUB_CHECKS } from './chunk-UCV6YLN2.js';
|
|
3
|
+
export { GITHUB_CHECKS, defaultSeedState as defaultGitHubSeed, seedSchema as githubSeedSchema, parseSeed as parseGitHubSeed } from './chunk-UCV6YLN2.js';
|
|
4
|
+
import { GMAIL_CHECKS } from './chunk-SA23X6PB.js';
|
|
5
|
+
export { GMAIL_CHECKS, defaultSeedState as defaultGmailSeed, gmailSeedSchema, parseSeed as parseGmailSeed } from './chunk-SA23X6PB.js';
|
|
6
|
+
import { LINEAR_CHECKS } from './chunk-THOSO63W.js';
|
|
7
|
+
export { LINEAR_CHECKS, defaultSeedState as defaultLinearSeed, linearSeedSchema, parseSeed as parseLinearSeed } from './chunk-THOSO63W.js';
|
|
8
|
+
import { SLACK_CHECKS } from './chunk-5PDF3GCK.js';
|
|
9
|
+
export { SLACK_CHECKS, defaultSeedState as defaultSlackSeed, parseSeed as parseSlackSeed, seedSchema as slackSeedSchema } from './chunk-5PDF3GCK.js';
|
|
10
|
+
import { STRIPE_CHECKS } from './chunk-XOUAZPNB.js';
|
|
11
|
+
export { STRIPE_CHECKS, defaultSeed as defaultStripeSeed, parseSeed as parseStripeSeed, seedSchema as stripeSeedSchema } from './chunk-XOUAZPNB.js';
|
|
12
|
+
export { REDACTION_PLACEHOLDER, VACUITY_SENTINEL, VACUITY_SENTINEL_NUMBER, VACUITY_SENTINEL_SNAKE, checkNearMissPattern, checkPattern, checksDigest, childStatePath, defineCheck, isRedacted, oneOf, parseCheck, probeDiscrimination, probeRedactionSurvival, probeStateCitation, renderCheck, repoRef, resolveStatePath, statePath, templateSlots } from './chunk-W2JNYULF.js';
|
|
13
13
|
|
|
14
14
|
// src/index.ts
|
|
15
15
|
var CHECKS_TWIN_NAMES = ["github", "slack", "stripe", "gmail", "linear"];
|
package/dist/linear.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export { LINEAR_CHECKS, defaultSeedState, linearSeedSchema, parseSeed } from './chunk-
|
|
2
|
-
import './chunk-
|
|
1
|
+
export { LINEAR_CHECKS, defaultSeedState, linearSeedSchema, parseSeed } from './chunk-THOSO63W.js';
|
|
2
|
+
import './chunk-W2JNYULF.js';
|
package/dist/slack.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export { SLACK_CHECKS, defaultSeedState, parseSeed, seedSchema } from './chunk-
|
|
2
|
-
import './chunk-
|
|
1
|
+
export { SLACK_CHECKS, defaultSeedState, parseSeed, seedSchema } from './chunk-5PDF3GCK.js';
|
|
2
|
+
import './chunk-W2JNYULF.js';
|
package/dist/stripe.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export { STRIPE_CHECKS, defaultSeed, parseSeed, seedSchema } from './chunk-
|
|
2
|
-
import './chunk-
|
|
1
|
+
export { STRIPE_CHECKS, defaultSeed, parseSeed, seedSchema } from './chunk-XOUAZPNB.js';
|
|
2
|
+
import './chunk-W2JNYULF.js';
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@pome-sh/checks",
|
|
3
|
-
"version": "0.1.
|
|
4
|
-
"description": "Pome's grading vocabulary
|
|
3
|
+
"version": "0.1.2",
|
|
4
|
+
"description": "Pome's grading vocabulary — the check declarations, seed schemas and default seeds of all five digital twins, plus the check DSL they are written in. Declarations only: no twin server, no database, no routes, no tools.",
|
|
5
5
|
"private": false,
|
|
6
6
|
"type": "module",
|
|
7
7
|
"main": "./dist/index.js",
|