@ikenga/contract 0.7.0 → 0.9.0

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 (58) hide show
  1. package/README.md +56 -11
  2. package/dist/canvas/Canvas.d.ts +7 -0
  3. package/dist/canvas/Canvas.d.ts.map +1 -0
  4. package/dist/canvas/Canvas.js +115 -0
  5. package/dist/canvas/Canvas.js.map +1 -0
  6. package/dist/canvas/canvas.css +579 -0
  7. package/dist/canvas/index.d.ts +7 -0
  8. package/dist/canvas/index.d.ts.map +1 -0
  9. package/dist/canvas/index.js +4 -0
  10. package/dist/canvas/index.js.map +1 -0
  11. package/dist/canvas/types.d.ts +45 -0
  12. package/dist/canvas/types.d.ts.map +1 -0
  13. package/dist/canvas/types.js +2 -0
  14. package/dist/canvas/types.js.map +1 -0
  15. package/dist/canvas/use-drag-snap.d.ts +33 -0
  16. package/dist/canvas/use-drag-snap.d.ts.map +1 -0
  17. package/dist/canvas/use-drag-snap.js +73 -0
  18. package/dist/canvas/use-drag-snap.js.map +1 -0
  19. package/dist/canvas/use-pan-zoom.d.ts +32 -0
  20. package/dist/canvas/use-pan-zoom.d.ts.map +1 -0
  21. package/dist/canvas/use-pan-zoom.js +161 -0
  22. package/dist/canvas/use-pan-zoom.js.map +1 -0
  23. package/dist/engine.d.ts +574 -0
  24. package/dist/engine.d.ts.map +1 -0
  25. package/dist/engine.js +85 -0
  26. package/dist/engine.js.map +1 -0
  27. package/dist/host-verbs.d.ts +194 -0
  28. package/dist/host-verbs.d.ts.map +1 -0
  29. package/dist/host-verbs.js +15 -0
  30. package/dist/host-verbs.js.map +1 -0
  31. package/dist/index.d.ts +1 -0
  32. package/dist/index.d.ts.map +1 -1
  33. package/dist/index.js +1 -0
  34. package/dist/index.js.map +1 -1
  35. package/dist/manifest.d.ts +376 -19
  36. package/dist/manifest.d.ts.map +1 -1
  37. package/dist/manifest.js +95 -4
  38. package/dist/manifest.js.map +1 -1
  39. package/dist/registry.d.ts +364 -36
  40. package/dist/registry.d.ts.map +1 -1
  41. package/dist/registry.js +9 -0
  42. package/dist/registry.js.map +1 -1
  43. package/dist/scopes.js +1 -1
  44. package/dist/scopes.js.map +1 -1
  45. package/package.json +36 -10
  46. package/schemas/registry/index-v1.json +11 -0
  47. package/src/canvas/Canvas.tsx +161 -0
  48. package/src/canvas/canvas.css +579 -0
  49. package/src/canvas/index.ts +14 -0
  50. package/src/canvas/types.ts +48 -0
  51. package/src/canvas/use-drag-snap.ts +107 -0
  52. package/src/canvas/use-pan-zoom.ts +211 -0
  53. package/src/host-verbs.ts +207 -0
  54. package/src/index.ts +1 -0
  55. package/src/manifest.test.ts +97 -0
  56. package/src/manifest.ts +109 -4
  57. package/src/registry.ts +9 -0
  58. package/src/scopes.ts +1 -1
@@ -0,0 +1,194 @@
1
+ /**
2
+ * Host-bridge verb shapes for the agent-ops pkg — the **G-TRIGGER** freeze gate.
3
+ *
4
+ * Unlike the kernel RPC methods in `rpc.ts`, `host.*` verbs are dispatched
5
+ * FE-side in the iframe host (`shell/src/components/pkg/pkg-iframe-host.tsx`)
6
+ * and invoked from the iframe via `app.callServerTool({ name, arguments })`,
7
+ * returning their payload on `res.structuredContent`. These types are the
8
+ * shared contract the shell (WP-09) produces and the agent-ops pkg
9
+ * (WP-08 reads, WP-12 writes) consumes. Frozen so changing them after both
10
+ * sides exist forces a cross-repo re-sync.
11
+ *
12
+ * Gated by `capabilities.agentOps` (see `AgentOpsCapabilitySchema`).
13
+ */
14
+ /** Typed failure codes a host.agentOps verb returns on the `{ ok: false }`
15
+ * branch, so the pkg UI can render a specific state rather than a raw string.
16
+ * - `daemon_down` — `~/.agent-ops/daemon.lock` missing or daemon not alive
17
+ * - `unauthorized` — the daemon rejected the token (401) — should not happen
18
+ * in normal operation (the shell reads the live lock)
19
+ * - `not_found` — no job with that id (daemon 404 / config miss)
20
+ * - `disabled` — job is disabled, cannot run-now (daemon 409)
21
+ * - `forbidden` — daemon rejected host/origin/method (403/405)
22
+ * - `io_error` — lock/config file unreadable or unwritable
23
+ * - `error` — any other failure */
24
+ export type AgentOpsErrorCode = 'daemon_down' | 'unauthorized' | 'not_found' | 'disabled' | 'forbidden' | 'io_error' | 'error';
25
+ export interface AgentOpsErrorResult {
26
+ ok: false;
27
+ code: AgentOpsErrorCode;
28
+ /** HTTP status from the daemon when applicable, else null. */
29
+ status: number | null;
30
+ error: string;
31
+ }
32
+ /** `host.agentOps.runNow({ jobId })` — fire an out-of-schedule run via the
33
+ * daemon's localhost trigger endpoint. The shell reads the 0600
34
+ * `~/.agent-ops/daemon.lock` for `{ port, secret }` and POSTs
35
+ * `127.0.0.1:<port>/jobs/<jobId>/trigger` with BOTH required headers
36
+ * (`x-agent-ops-token: <secret>` + `x-agent-ops-trigger: 1`). */
37
+ export interface AgentOpsRunNowArgs {
38
+ jobId: string;
39
+ }
40
+ export type AgentOpsRunNowResult = {
41
+ ok: true;
42
+ status: number;
43
+ message: string;
44
+ } | AgentOpsErrorResult;
45
+ /** `host.agentOps.setEnabled({ jobId, enabled })` — flip a job's `enabled`
46
+ * flag in the project-scoped config (`~/.atelier/skill-agent-ops/jobs.json`).
47
+ * The daemon honors it on next config load. Does NOT touch the executor. */
48
+ export interface AgentOpsSetEnabledArgs {
49
+ jobId: string;
50
+ enabled: boolean;
51
+ }
52
+ export type AgentOpsSetEnabledResult = {
53
+ ok: true;
54
+ jobId: string;
55
+ enabled: boolean;
56
+ } | AgentOpsErrorResult;
57
+ /** The editable job fields the CRUD form sends to `host.agentOps.upsertJob`.
58
+ * The host fills JobDefinition defaults (schedule_dialect, timeout_ms, retries,
59
+ * backoff, concurrency_policy) for any omitted field; the daemon's Zod loader
60
+ * is the final validation backstop on next config load. */
61
+ export interface AgentOpsJobInput {
62
+ id: string;
63
+ label: string;
64
+ schedule: string;
65
+ timezone?: string;
66
+ enabled?: boolean;
67
+ mode?: 'agent' | 'script';
68
+ command: string;
69
+ model?: string | null;
70
+ agent?: string | null;
71
+ schedule_dialect?: '5f' | '6f';
72
+ timeout_ms?: number;
73
+ }
74
+ /** `host.agentOps.upsertJob({ job })` — create-or-update a job in the
75
+ * project-scoped config (atomic rewrite; replace by id if present, else
76
+ * append). The daemon honors it on next config load. Validating-only write —
77
+ * the shell does NOT run the job, never becomes the executor. */
78
+ export interface AgentOpsUpsertJobArgs {
79
+ job: AgentOpsJobInput;
80
+ }
81
+ export type AgentOpsUpsertJobResult = {
82
+ ok: true;
83
+ jobId: string;
84
+ created: boolean;
85
+ } | AgentOpsErrorResult;
86
+ /** `host.agentOps.deleteJob({ jobId })` — remove a job from the project-scoped
87
+ * config (atomic rewrite). The daemon stops scheduling it on next load. */
88
+ export interface AgentOpsDeleteJobArgs {
89
+ jobId: string;
90
+ }
91
+ export type AgentOpsDeleteJobResult = {
92
+ ok: true;
93
+ jobId: string;
94
+ } | AgentOpsErrorResult;
95
+ /** `host.agentOps.tailRun({ jobId, offset? })` — read the live (or last-completed)
96
+ * run output for a job by byte-range, for the pkg's Live-output view.
97
+ *
98
+ * Unlike the other agent-ops verbs (which reach the daemon's localhost endpoint
99
+ * or rewrite its config), tailRun is a pure **filesystem read on the shell's own
100
+ * event loop**: it opens the per-job marker (`~/.agent-ops/runs/<slug>.marker.json`)
101
+ * to learn the current run's `tailPath` + `status` + `pid`, then reads that tail
102
+ * file from `offset` forward (capped per call). Because it never touches the
103
+ * daemon, the daemon being blocked mid-run (synchronously executing a job) is
104
+ * irrelevant — the shell still streams whatever the child has teed to disk so far.
105
+ *
106
+ * Mechanism is **script-mode only**: the daemon tees a script job's combined
107
+ * stdout/stderr to the tail file as it runs. Agent jobs (`claude -p`) stay
108
+ * byte-for-byte unchanged and have no tail file, so tailRun returns an empty
109
+ * chunk with `mode:'agent'` (the pkg renders 'live output not available for
110
+ * agent jobs' + a spinner driven off the marker's `status`).
111
+ *
112
+ * Polling loop: call with `offset:0` first, then feed the returned `nextOffset`
113
+ * back on each poll. `eof` true means the reader caught up to the current end of
114
+ * file; keep polling while `running` is true. After a run completes the marker
115
+ * still points at the final tail, so `running:false` STILL returns the final
116
+ * chunk for scrollback — the view shows the completed output, not an empty pane.
117
+ *
118
+ * - `running` — `status === 'running'` AND the marker's `pid` is alive.
119
+ * - `status` — the marker's `status` (`'running' | 'done'`), or `null` when
120
+ * no marker exists yet (job has never produced a run).
121
+ * - `startedAtMs` — the run's start epoch-ms from the marker, else `null`.
122
+ * - `mode` — `'script'` (has a tail) / `'agent'` (no tail) / `null` (no marker).
123
+ * - `chunk` — lossy-utf8 decode of the bytes read this call (may be empty).
124
+ * - `nextOffset` — `offset + bytesRead`; pass back on the next poll.
125
+ * - `eof` — reached the current end of the tail file.
126
+ *
127
+ * Best-effort + non-throwing on the shell side: a missing marker / missing tail /
128
+ * unreadable file resolves to `{ ok:true, chunk:'', eof:true, ... }` rather than
129
+ * an error, so the view degrades to 'no output yet'. Only a path-escape attempt
130
+ * (marker.tailPath pointing outside `~/.agent-ops/runs/`) maps to an
131
+ * `{ ok:false, code:'io_error' }`. */
132
+ export interface AgentOpsTailRunArgs {
133
+ jobId: string;
134
+ /** Byte offset into the tail file to read from. Defaults to 0. */
135
+ offset?: number;
136
+ }
137
+ export type AgentOpsTailRunResult = {
138
+ ok: true;
139
+ running: boolean;
140
+ status: 'running' | 'done' | null;
141
+ startedAtMs: number | null;
142
+ mode: 'agent' | 'script' | null;
143
+ chunk: string;
144
+ nextOffset: number;
145
+ eof: boolean;
146
+ } | AgentOpsErrorResult;
147
+ /** A merged config+state row as returned by `host.agentOps.listJobs`. Config
148
+ * fields come from `~/.atelier/skill-agent-ops/jobs.json` (a JobDefinition);
149
+ * `state` is that job's entry in `.company/cron/jobs-state.json` (or null if
150
+ * it has never run). Field casing matches the on-disk files (camelCase state);
151
+ * the pkg's data layer (WP-08) maps this into the snake_case G-VIEW. */
152
+ export interface AgentOpsRawJobState {
153
+ nextRunAtMs: number | null;
154
+ lastRunAtMs: number | null;
155
+ lastStatus: string | null;
156
+ consecutiveErrors: number;
157
+ lastDurationMs: number | null;
158
+ totalCostUsd: number | null;
159
+ totalRuns: number | null;
160
+ lastUsage: {
161
+ costUsd: number | null;
162
+ numTurns: number | null;
163
+ inputTokens: number | null;
164
+ outputTokens: number | null;
165
+ cacheReadTokens: number | null;
166
+ sessionId: string | null;
167
+ } | null;
168
+ }
169
+ export interface AgentOpsRawJob {
170
+ id: string;
171
+ label: string;
172
+ schedule: string;
173
+ schedule_dialect: '5f' | '6f';
174
+ timezone: string;
175
+ enabled: boolean;
176
+ command: string;
177
+ mode: 'agent' | 'script';
178
+ model: string | null;
179
+ agent: string | null;
180
+ _disabledReason: string | null;
181
+ state: AgentOpsRawJobState | null;
182
+ }
183
+ /** `host.agentOps.listJobs({})` — read the project-scoped job config + the
184
+ * daemon's runtime state file and return both, merged per job, plus daemon
185
+ * liveness. Run history (cron_job_runs / agent_runs) is NOT included here —
186
+ * the pkg reads that directly via `host.dbQuery`. */
187
+ export type AgentOpsListJobsArgs = Record<string, never>;
188
+ export type AgentOpsListJobsResult = {
189
+ ok: true;
190
+ daemon_up: boolean;
191
+ daemon_pid: number | null;
192
+ jobs: AgentOpsRawJob[];
193
+ } | AgentOpsErrorResult;
194
+ //# sourceMappingURL=host-verbs.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"host-verbs.d.ts","sourceRoot":"","sources":["../src/host-verbs.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,15 @@
1
+ /**
2
+ * Host-bridge verb shapes for the agent-ops pkg — the **G-TRIGGER** freeze gate.
3
+ *
4
+ * Unlike the kernel RPC methods in `rpc.ts`, `host.*` verbs are dispatched
5
+ * FE-side in the iframe host (`shell/src/components/pkg/pkg-iframe-host.tsx`)
6
+ * and invoked from the iframe via `app.callServerTool({ name, arguments })`,
7
+ * returning their payload on `res.structuredContent`. These types are the
8
+ * shared contract the shell (WP-09) produces and the agent-ops pkg
9
+ * (WP-08 reads, WP-12 writes) consumes. Frozen so changing them after both
10
+ * sides exist forces a cross-repo re-sync.
11
+ *
12
+ * Gated by `capabilities.agentOps` (see `AgentOpsCapabilitySchema`).
13
+ */
14
+ export {};
15
+ //# sourceMappingURL=host-verbs.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"host-verbs.js","sourceRoot":"","sources":["../src/host-verbs.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG"}
package/dist/index.d.ts CHANGED
@@ -1,5 +1,6 @@
1
1
  export * from './manifest.js';
2
2
  export * from './rpc.js';
3
+ export * from './host-verbs.js';
3
4
  export * from './engine/index.js';
4
5
  export * from './scopes.js';
5
6
  export * from './iyke.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,eAAe,CAAC;AAC9B,cAAc,UAAU,CAAC;AACzB,cAAc,mBAAmB,CAAC;AAClC,cAAc,aAAa,CAAC;AAC5B,cAAc,WAAW,CAAC;AAC1B,cAAc,eAAe,CAAC;AAC9B,cAAc,eAAe,CAAC;AAC9B,cAAc,cAAc,CAAC;AAE7B,kCAAkC;AAClC,eAAO,MAAM,wBAAwB,EAAG,OAAgB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,eAAe,CAAC;AAC9B,cAAc,UAAU,CAAC;AACzB,cAAc,iBAAiB,CAAC;AAChC,cAAc,mBAAmB,CAAC;AAClC,cAAc,aAAa,CAAC;AAC5B,cAAc,WAAW,CAAC;AAC1B,cAAc,eAAe,CAAC;AAC9B,cAAc,eAAe,CAAC;AAC9B,cAAc,cAAc,CAAC;AAE7B,kCAAkC;AAClC,eAAO,MAAM,wBAAwB,EAAG,OAAgB,CAAC"}
package/dist/index.js CHANGED
@@ -1,5 +1,6 @@
1
1
  export * from './manifest.js';
2
2
  export * from './rpc.js';
3
+ export * from './host-verbs.js';
3
4
  export * from './engine/index.js';
4
5
  export * from './scopes.js';
5
6
  export * from './iyke.js';
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,eAAe,CAAC;AAC9B,cAAc,UAAU,CAAC;AACzB,cAAc,mBAAmB,CAAC;AAClC,cAAc,aAAa,CAAC;AAC5B,cAAc,WAAW,CAAC;AAC1B,cAAc,eAAe,CAAC;AAC9B,cAAc,eAAe,CAAC;AAC9B,cAAc,cAAc,CAAC;AAE7B,kCAAkC;AAClC,MAAM,CAAC,MAAM,wBAAwB,GAAG,OAAgB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,eAAe,CAAC;AAC9B,cAAc,UAAU,CAAC;AACzB,cAAc,iBAAiB,CAAC;AAChC,cAAc,mBAAmB,CAAC;AAClC,cAAc,aAAa,CAAC;AAC5B,cAAc,WAAW,CAAC;AAC1B,cAAc,eAAe,CAAC;AAC9B,cAAc,eAAe,CAAC;AAC9B,cAAc,cAAc,CAAC;AAE7B,kCAAkC;AAClC,MAAM,CAAC,MAAM,wBAAwB,GAAG,OAAgB,CAAC"}