@jigging/jig 0.1.0-alpha.11 → 0.1.0-alpha.13

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 CHANGED
@@ -1,21 +1,26 @@
1
1
  # `@jigging/jig`
2
2
 
3
- Jig is a local, secure host for admitted FLOW packages. The direct-run alpha
4
- has one finite command surface:
3
+ Jig puts reusable Agent methods to work with powers you approve. Choose your
4
+ Agents, combine specialists, inspect their results, and stop owned work.
5
+ The developer alpha has one finite command surface:
5
6
 
6
7
  ```text
7
8
  jig init --bare <directory>
8
9
  jig review [project] [--yes]
9
- jig run <flow:path|binding:id> [--input JSON] [--timeout DURATION]
10
+ jig run <flow:path|binding:id> [--input JSON|@FILE] [--attach NAME=DIR] [--out DIR] [--timeout DURATION]
11
+ jig --version
10
12
  ```
11
13
 
14
+ `jig --version` prints the built package version without opening a project or
15
+ acquiring a sandbox.
16
+
12
17
  There is no `jig setup`. `review` and `run` transparently acquire the rootless
13
18
  authority they need or fail closed.
14
19
 
15
20
  ## Install
16
21
 
17
22
  ```console
18
- npm install --global @jigging/jig@0.1.0-alpha.10
23
+ npm install --global @jigging/jig@alpha
19
24
  ```
20
25
 
21
26
  Installing Jig also installs `@oven/bun-linux-x64-baseline@1.3.3` as an exact
@@ -24,6 +29,10 @@ external runtime dependency. Bun is not embedded in or bundled with the
24
29
  that closed package-local path, authenticates its version, revision, and digest
25
30
  before evaluator or Flow bytes execute, and revalidates it before each launch.
26
31
 
32
+ For a useful application, try [an issue becoming a tested patch](https://jig.md/guide/tested-patch).
33
+ It selects local source files and returns a patch with executed checks, without
34
+ changing the original repository.
35
+
27
36
  ## Supported host
28
37
 
29
38
  The alpha has been independently tested on a provisioned Ubuntu 24.04 x86_64
@@ -48,15 +57,14 @@ On NixOS, enable
48
57
  `programs.nix-ld.enable` for the unmodified npm runtime. Jig uses the real glibc
49
58
  loader at the system-managed `share/nix-ld/lib/ld.so` link, mounting only that
50
59
  loader and its required libraries into Runs. It does not mount nix-ld or the
51
- whole Nix store. NixOS path support is included in this source candidate;
52
- independent NixOS host conformance is not yet established.
60
+ whole Nix store. Independent NixOS host conformance is not yet established.
53
61
 
54
62
  Jig commands do not use `sudo`, download runtimes, or expose host control to
55
63
  Flow code. Runtime installation is handled once by npm with the Jig package.
56
64
 
57
65
  Flow Runs default to 30 seconds. `jig run --timeout DURATION` accepts a
58
66
  positive integer followed by `ms`, `s`, `m`, or `h`, up to 24 hours. Flow
59
- execution scopes remain fixed at 256 MiB aggregate memory, 48 aggregate PIDs,
67
+ execution scopes remain fixed at 256 MiB aggregate memory, 64 aggregate PIDs,
60
68
  and 50% of one CPU. Project evaluation is fixed at 3 seconds, 256 MiB, 64
61
69
  PIDs, and 50% CPU. Locked dependency preparation is fixed at 60 seconds, 512
62
70
  MiB, 64 PIDs, and one CPU. See the repository
@@ -74,7 +82,7 @@ Place packages under `flows/<name>/`. Each package has exact-case `FLOW.md`
74
82
  and, for this alpha, one `flow.ts`. The generated `jig.ts`
75
83
  explicitly discovers `./flows` and `./bindings`.
76
84
 
77
- The paired `@jigging/flow@0.1.0-alpha.6` package provides the small Run/1
85
+ The published `@jigging/flow@0.1.0-alpha.7` package provides the small Run/1
78
86
  authoring API. Declare it exactly in the Flow's `package.json`, generate a text
79
87
  `bun.lock` with Bun 1.3.3 and `bun install --lockfile-only`, then handle one
80
88
  finite Run:
package/dist/index.d.ts CHANGED
@@ -1 +1 @@
1
- export { defineBinding, defineJig, discover, type JigDefinitionInput, type PackageBindingInput, } from "./project/author.js";
1
+ export { defineBinding, defineJig, discover, type JigDefinitionInput, type PackageBindingInput, } from './project/author.js';
package/dist/index.js CHANGED
@@ -1784,10 +1784,16 @@ function defineBinding(input) {
1784
1784
  return normalizeBinding(input, false);
1785
1785
  }
1786
1786
  function flowRef(path) {
1787
- return record({ kind: "flow", path: normalizeProjectPath(path, "Flow reference") });
1787
+ return record({
1788
+ kind: "flow",
1789
+ path: normalizeProjectPath(path, "Flow reference")
1790
+ });
1788
1791
  }
1789
1792
  function bindingRef(id) {
1790
- return record({ kind: "binding", id: validateLocalName(id, "Binding reference") });
1793
+ return record({
1794
+ kind: "binding",
1795
+ id: validateLocalName(id, "Binding reference")
1796
+ });
1791
1797
  }
1792
1798
  function normalizeBinding(input, canonical) {
1793
1799
  const captured = snapshotJsonObject(input, "Binding definition");
@@ -1800,7 +1806,12 @@ function normalizeBinding(input, canonical) {
1800
1806
  const packagePath = normalizeProjectPath(captured.package, "package");
1801
1807
  const settings = Object.hasOwn(captured, "settings") ? expectJsonObject(captured.settings, "settings") : emptyRecord();
1802
1808
  const slots = Object.hasOwn(captured, "slots") ? normalizeFlowSlots(captured.slots) : emptyRecord();
1803
- return record({ kind: "package", package: packagePath, settings, slots });
1809
+ return record({
1810
+ kind: "package",
1811
+ package: packagePath,
1812
+ settings,
1813
+ slots
1814
+ });
1804
1815
  }
1805
1816
  function normalizeFlowSlots(value) {
1806
1817
  const input = snapshotJsonObject(value, "slots");
@@ -1,10 +1,10 @@
1
- import type { JsonObject } from "../json.js";
1
+ import type { JsonObject } from '../json.js';
2
2
  export interface DiscoverySource {
3
- readonly kind: "discover";
3
+ readonly kind: 'discover';
4
4
  readonly roots: readonly string[];
5
5
  }
6
6
  export interface MembersSource {
7
- readonly kind: "members";
7
+ readonly kind: 'members';
8
8
  readonly paths: readonly string[];
9
9
  }
10
10
  export type ProjectSource = DiscoverySource | MembersSource;
@@ -18,16 +18,16 @@ export interface JigDefinitionInput {
18
18
  readonly bindings?: ProjectSourceInput;
19
19
  }
20
20
  export interface FlowRef {
21
- readonly kind: "flow";
21
+ readonly kind: 'flow';
22
22
  readonly path: string;
23
23
  }
24
24
  export interface BindingRef {
25
- readonly kind: "binding";
25
+ readonly kind: 'binding';
26
26
  readonly id: string;
27
27
  }
28
28
  export type RunTargetRef = FlowRef | BindingRef;
29
29
  export interface PackageBindingDefinition {
30
- readonly kind: "package";
30
+ readonly kind: 'package';
31
31
  readonly package: string;
32
32
  readonly settings: JsonObject;
33
33
  readonly slots: Readonly<Record<string, string>>;