patdown 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.
Files changed (54) hide show
  1. package/LICENSE +13 -0
  2. package/README.md +201 -0
  3. package/dist/cli.d.ts +12 -0
  4. package/dist/cli.d.ts.map +1 -0
  5. package/dist/cli.js +85 -0
  6. package/dist/index.d.ts +8 -0
  7. package/dist/index.d.ts.map +1 -0
  8. package/dist/index.js +6 -0
  9. package/dist/markdown-squint-rule-parser.d.ts +7 -0
  10. package/dist/markdown-squint-rule-parser.d.ts.map +1 -0
  11. package/dist/markdown-squint-rule-parser.js +85 -0
  12. package/dist/patdown-cli-bin.d.ts +3 -0
  13. package/dist/patdown-cli-bin.d.ts.map +1 -0
  14. package/dist/patdown-cli-bin.js +4 -0
  15. package/dist/patdown-cli-version.d.ts +3 -0
  16. package/dist/patdown-cli-version.d.ts.map +1 -0
  17. package/dist/patdown-cli-version.js +18 -0
  18. package/dist/patdown-judge.d.ts +30 -0
  19. package/dist/patdown-judge.d.ts.map +1 -0
  20. package/dist/patdown-judge.js +26 -0
  21. package/dist/patdown-lint.d.ts +7 -0
  22. package/dist/patdown-lint.d.ts.map +1 -0
  23. package/dist/patdown-lint.js +89 -0
  24. package/dist/patdown-output.d.ts +27 -0
  25. package/dist/patdown-output.d.ts.map +1 -0
  26. package/dist/patdown-output.js +45 -0
  27. package/dist/patdown-package-config.d.ts +15 -0
  28. package/dist/patdown-package-config.d.ts.map +1 -0
  29. package/dist/patdown-package-config.js +123 -0
  30. package/dist/patdown-question-input.d.ts +5 -0
  31. package/dist/patdown-question-input.d.ts.map +1 -0
  32. package/dist/patdown-question-input.js +21 -0
  33. package/dist/patdown-rule-source-adapter.d.ts +10 -0
  34. package/dist/patdown-rule-source-adapter.d.ts.map +1 -0
  35. package/dist/patdown-rule-source-adapter.js +83 -0
  36. package/dist/patdown-yes-threshold-config.d.ts +7 -0
  37. package/dist/patdown-yes-threshold-config.d.ts.map +1 -0
  38. package/dist/patdown-yes-threshold-config.js +20 -0
  39. package/dist/run-patdown-cli.d.ts +12 -0
  40. package/dist/run-patdown-cli.d.ts.map +1 -0
  41. package/dist/run-patdown-cli.js +17 -0
  42. package/dist/squint-lint.d.ts +7 -0
  43. package/dist/squint-lint.d.ts.map +1 -0
  44. package/dist/squint-lint.js +80 -0
  45. package/dist/squint-rule-source.d.ts +34 -0
  46. package/dist/squint-rule-source.d.ts.map +1 -0
  47. package/dist/squint-rule-source.js +78 -0
  48. package/dist/squint-rule.d.ts +17 -0
  49. package/dist/squint-rule.d.ts.map +1 -0
  50. package/dist/squint-rule.js +2 -0
  51. package/dist/typesafe-judge.d.ts +8 -0
  52. package/dist/typesafe-judge.d.ts.map +1 -0
  53. package/dist/typesafe-judge.js +14 -0
  54. package/package.json +83 -0
@@ -0,0 +1,17 @@
1
+ /**
2
+ * One fuzzy squint rule loaded from a rules file. Globs are optional; an empty list means the rule
3
+ * applies to the whole run.
4
+ */
5
+ export type SquintRule = {
6
+ readonly squintRuleBody: string;
7
+ readonly squintRuleGlobs: ReadonlyArray<string>;
8
+ readonly squintRuleTitle: string;
9
+ };
10
+ /** Parsed squint rules plus the file they were loaded from. */
11
+ export type SquintRulesDocument = {
12
+ readonly squintRules: ReadonlyArray<SquintRule>;
13
+ readonly squintRulesFilePath: string;
14
+ };
15
+ /** Default markdown rules file name walked from the working directory. */
16
+ export declare const defaultSquintRulesFileName = "AGENTS.SQUINT.md";
17
+ //# sourceMappingURL=squint-rule.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"squint-rule.d.ts","sourceRoot":"","sources":["../src/squint-rule.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,MAAM,MAAM,UAAU,GAAG;IACxB,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAA;IAC/B,QAAQ,CAAC,eAAe,EAAE,aAAa,CAAC,MAAM,CAAC,CAAA;IAC/C,QAAQ,CAAC,eAAe,EAAE,MAAM,CAAA;CAChC,CAAA;AAED,+DAA+D;AAC/D,MAAM,MAAM,mBAAmB,GAAG;IACjC,QAAQ,CAAC,WAAW,EAAE,aAAa,CAAC,UAAU,CAAC,CAAA;IAC/C,QAAQ,CAAC,mBAAmB,EAAE,MAAM,CAAA;CACpC,CAAA;AAED,0EAA0E;AAC1E,eAAO,MAAM,0BAA0B,qBAAqB,CAAA"}
@@ -0,0 +1,2 @@
1
+ /** Default markdown rules file name walked from the working directory. */
2
+ export const defaultSquintRulesFileName = 'AGENTS.SQUINT.md';
@@ -0,0 +1,8 @@
1
+ import { Layer } from 'effect';
2
+ import { PatdownJudge } from '#src/patdown-judge';
3
+ /**
4
+ * Temporary TypeSafe backend. Replace this layer with Effect Decision/DecisionModel when available;
5
+ * see issue #1.
6
+ */
7
+ export declare const TypeSafeJudgeLive: Layer.Layer<PatdownJudge, never, never>;
8
+ //# sourceMappingURL=typesafe-judge.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"typesafe-judge.d.ts","sourceRoot":"","sources":["../src/typesafe-judge.ts"],"names":[],"mappings":"AACA,OAAO,EAAU,KAAK,EAAE,MAAM,QAAQ,CAAA;AAGtC,OAAO,EAAE,YAAY,EAA4C,MAAM,oBAAoB,CAAA;AAE3F;;;GAGG;AACH,eAAO,MAAM,iBAAiB,yCAcS,CAAA"}
@@ -0,0 +1,14 @@
1
+ import { JevSystemOne, JevSystemOneLive } from '@patdown/jev';
2
+ import { Effect, Layer } from 'effect';
3
+ import { FetchHttpClient } from 'effect/unstable/http';
4
+ import { PatdownJudge, PatdownJudgeFailed } from '#src/patdown-judge';
5
+ /**
6
+ * Temporary TypeSafe backend. Replace this layer with Effect Decision/DecisionModel when available;
7
+ * see issue #1.
8
+ */
9
+ export const TypeSafeJudgeLive = Layer.effect(PatdownJudge, Effect.gen(function* () {
10
+ const client = yield* JevSystemOne;
11
+ return {
12
+ ask: (question, inputText) => client.askNoul(question, inputText).pipe(Effect.map((answer) => ({ yesProbability: answer.noul })), Effect.mapError((error) => new PatdownJudgeFailed({ message: error.message })), Effect.provide(FetchHttpClient.layer)),
13
+ };
14
+ })).pipe(Layer.provide(JevSystemOneLive));
package/package.json ADDED
@@ -0,0 +1,83 @@
1
+ {
2
+ "name": "patdown",
3
+ "version": "0.3.1",
4
+ "description": "Standalone CLI that lints a tree against fuzzy markdown rules",
5
+ "homepage": "https://github.com/tyler-dot-earth/patdown",
6
+ "bugs": {
7
+ "url": "https://github.com/tyler-dot-earth/patdown/issues"
8
+ },
9
+ "license": "0BSD",
10
+ "repository": {
11
+ "type": "git",
12
+ "url": "git+https://github.com/tyler-dot-earth/patdown.git",
13
+ "directory": "apps/patdown"
14
+ },
15
+ "bin": {
16
+ "patdown": "./dist/patdown-cli-bin.js"
17
+ },
18
+ "files": [
19
+ "LICENSE",
20
+ "README.md",
21
+ "dist"
22
+ ],
23
+ "type": "module",
24
+ "main": "./dist/index.js",
25
+ "types": "./dist/index.d.ts",
26
+ "imports": {
27
+ "#src/*": {
28
+ "source": "./src/*.ts",
29
+ "types": "./dist/*.d.ts",
30
+ "test": "./src/*.ts",
31
+ "node": "./dist/*.js",
32
+ "default": "./dist/*.js"
33
+ }
34
+ },
35
+ "exports": {
36
+ ".": {
37
+ "types": "./dist/index.d.ts",
38
+ "test": "./dist/index.js",
39
+ "node": "./dist/index.js",
40
+ "import": "./dist/index.js",
41
+ "default": "./dist/index.js"
42
+ }
43
+ },
44
+ "publishConfig": {
45
+ "access": "public"
46
+ },
47
+ "dependencies": {
48
+ "@effect/platform-node": "4.0.0-rc.112",
49
+ "effect": "4.0.0-rc.112",
50
+ "import-meta-resolve": "4.2.0",
51
+ "@patdown/jev": "0.3.1",
52
+ "@patdown/rules": "0.3.1"
53
+ },
54
+ "devDependencies": {
55
+ "@effect/language-service": "0.87.2",
56
+ "@effect/vitest": "4.0.0-rc.112",
57
+ "@types/node": "^22.20.3",
58
+ "@vitest/coverage-v8": "^4.1.11",
59
+ "oxfmt": "^0.65.0",
60
+ "oxlint": "1.80.0",
61
+ "oxlint-tsgolint": "^7.0.2001",
62
+ "typescript": "7.0.2",
63
+ "vitest": "^4.1.11",
64
+ "@patdown/oxlint-config": "0.0.0",
65
+ "@patdown/tsconfig": "0.0.0"
66
+ },
67
+ "engines": {
68
+ "node": ">=22.22.2"
69
+ },
70
+ "scripts": {
71
+ "build": "node ../../scripts/warn-direct-package-task.mjs build && tsc -p tsconfig.build.json",
72
+ "check": "node ../../scripts/warn-direct-package-task.mjs check && pnpm run lint && pnpm run format:check && pnpm run typecheck && pnpm run test",
73
+ "clean": "rm -rf dist coverage",
74
+ "dev": "tsc -p tsconfig.build.json --watch --preserveWatchOutput",
75
+ "format": "oxfmt --write .",
76
+ "format:check": "node ../../scripts/warn-direct-package-task.mjs format:check && oxfmt --check .",
77
+ "lint": "node ../../scripts/warn-direct-package-task.mjs lint && oxlint --disable-nested-config -c ./oxlint.config.ts --tsconfig ./tsconfig.app.json .",
78
+ "run": "node dist/patdown-cli-bin.js",
79
+ "test": "node ../../scripts/warn-direct-package-task.mjs test && vitest run",
80
+ "test:coverage": "node ../../scripts/warn-direct-package-task.mjs test:coverage && vitest run --coverage",
81
+ "typecheck": "node ../../scripts/warn-direct-package-task.mjs typecheck && tsc -p tsconfig.app.json --incremental --tsBuildInfoFile typecheck.app.tsbuildinfo && tsc -p tsconfig.vitest.json --incremental --tsBuildInfoFile typecheck.vitest.tsbuildinfo"
82
+ }
83
+ }