@owlmeans/viable-sdk 0.1.18-rc.3 → 0.1.18-rc.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/README.md +2 -28
- package/build/api/remote.d.ts +0 -10
- package/build/api/remote.d.ts.map +1 -1
- package/build/api/remote.js +6 -81
- package/build/api/remote.js.map +1 -1
- package/build/consts.d.ts +0 -9
- package/build/consts.d.ts.map +1 -1
- package/build/consts.js +0 -9
- package/build/consts.js.map +1 -1
- package/build/context/index.d.ts.map +1 -1
- package/build/context/index.js +8 -11
- package/build/context/index.js.map +1 -1
- package/build/executor/errors.d.ts +0 -15
- package/build/executor/errors.d.ts.map +1 -1
- package/build/executor/errors.js +0 -17
- package/build/executor/errors.js.map +1 -1
- package/build/executor/files.d.ts +0 -58
- package/build/executor/files.d.ts.map +1 -1
- package/build/executor/files.js +15 -256
- package/build/executor/files.js.map +1 -1
- package/build/executor/git.d.ts +1 -14
- package/build/executor/git.d.ts.map +1 -1
- package/build/executor/git.js +1 -20
- package/build/executor/git.js.map +1 -1
- package/build/executor/index.d.ts.map +1 -1
- package/build/executor/index.js +0 -16
- package/build/executor/index.js.map +1 -1
- package/build/executor/shell.d.ts.map +1 -1
- package/build/executor/shell.js +2 -7
- package/build/executor/shell.js.map +1 -1
- package/build/harness/templates.d.ts +1 -1
- package/build/harness/templates.d.ts.map +1 -1
- package/build/harness/templates.js +5 -13
- package/build/harness/templates.js.map +1 -1
- package/build/session/index.d.ts +0 -2
- package/build/session/index.d.ts.map +1 -1
- package/build/session/index.js +0 -38
- package/build/session/index.js.map +1 -1
- package/build/session/tasks.d.ts +32 -7
- package/build/session/tasks.d.ts.map +1 -1
- package/build/session/tasks.js +81 -8
- package/build/session/tasks.js.map +1 -1
- package/build/task/index.d.ts +0 -1
- package/build/task/index.d.ts.map +1 -1
- package/build/task/index.js +0 -1
- package/build/task/index.js.map +1 -1
- package/build/tools/catalogue.d.ts.map +1 -1
- package/build/tools/catalogue.js +15 -530
- package/build/tools/catalogue.js.map +1 -1
- package/build/tools/index.d.ts +0 -2
- package/build/tools/index.d.ts.map +1 -1
- package/build/tools/index.js +0 -2
- package/build/tools/index.js.map +1 -1
- package/build/tools/jobs.d.ts.map +1 -1
- package/build/tools/jobs.js +7 -20
- package/build/tools/jobs.js.map +1 -1
- package/build/tools/mcp.d.ts +2 -10
- package/build/tools/mcp.d.ts.map +1 -1
- package/build/tools/mcp.js +14 -45
- package/build/tools/mcp.js.map +1 -1
- package/build/tools/types.d.ts +5 -10
- package/build/tools/types.d.ts.map +1 -1
- package/build/tools/types.js +5 -10
- package/build/tools/types.js.map +1 -1
- package/build/types.d.ts +1 -51
- package/build/types.d.ts.map +1 -1
- package/package.json +16 -16
- package/build/session/questions.d.ts +0 -16
- package/build/session/questions.d.ts.map +0 -1
- package/build/session/questions.js +0 -17
- package/build/session/questions.js.map +0 -1
- package/build/session/queue.d.ts +0 -54
- package/build/session/queue.d.ts.map +0 -1
- package/build/session/queue.js +0 -102
- package/build/session/queue.js.map +0 -1
- package/build/task/inquiry.d.ts +0 -53
- package/build/task/inquiry.d.ts.map +0 -1
- package/build/task/inquiry.js +0 -232
- package/build/task/inquiry.js.map +0 -1
- package/build/tools/platform.d.ts +0 -77
- package/build/tools/platform.d.ts.map +0 -1
- package/build/tools/platform.js +0 -316
- package/build/tools/platform.js.map +0 -1
- package/build/tools/refusal.d.ts +0 -66
- package/build/tools/refusal.d.ts.map +0 -1
- package/build/tools/refusal.js +0 -377
- package/build/tools/refusal.js.map +0 -1
package/README.md
CHANGED
|
@@ -12,9 +12,7 @@ needs and the platform cannot supply:
|
|
|
12
12
|
both over HTTP and in-process;
|
|
13
13
|
- **a session runtime** that answers the operations the platform sends: file writes, shell
|
|
14
14
|
commands and git against a project on the user's own machine;
|
|
15
|
-
- **the tool catalogue and the model-task protocol** a parent agent reads
|
|
16
|
-
questions the platform puts to a person, and the tools for converting an application that
|
|
17
|
-
already exists.
|
|
15
|
+
- **the tool catalogue and the model-task protocol** a parent agent reads.
|
|
18
16
|
|
|
19
17
|
## The two axes
|
|
20
18
|
|
|
@@ -74,35 +72,11 @@ throughput problem, it is a corrupted tree.
|
|
|
74
72
|
outstanding, including what it had already answered when the connection dropped. Re-running a build
|
|
75
73
|
because an acknowledgement was lost is exactly the cost that cache avoids.
|
|
76
74
|
|
|
77
|
-
**A question is the user's, and the connector answers none of it.** An inquiry arrives on the
|
|
78
|
-
same operation loop as everything else and is executed by nobody: `next_question` hands it to the
|
|
79
|
-
parent to put to a person, and `answer_question` sends the answer back. The two queues stay
|
|
80
|
-
separate from the task queue, because draining one list would sooner or later hand a decision
|
|
81
|
-
about somebody's project to a subagent. Declining is an answer — a parent whose user is away says
|
|
82
|
-
so rather than waiting out the deadline or inventing one.
|
|
83
|
-
|
|
84
|
-
**A model task is handed over once.** The platform redelivers every unanswered operation on each
|
|
85
|
-
poll, which is free for a slot command the result cache answers and expensive for a task a
|
|
86
|
-
subagent is already working on. The shared queue remembers every id it has handed over and ignores
|
|
87
|
-
a second delivery of one, while still refreshing the operation the answer must route to.
|
|
88
|
-
|
|
89
75
|
**A malformed model-task answer is refused locally.** `parseTaskResult` checks the answer against
|
|
90
76
|
the task before the platform ever sees it — with the subagent's context still open, so the parent
|
|
91
77
|
can retry immediately. A malformed answer that reached the platform would cost a whole new task, a
|
|
92
78
|
new subagent and another wait.
|
|
93
79
|
|
|
94
|
-
**A refusal is phrased from its marker.** The platform's refusal classes live in packages this one
|
|
95
|
-
does not depend on, so an error crossing the wire arrives as a marshalled `type|||marker|||stack`
|
|
96
|
-
wrapped in a local stack trace. `REFUSALS` maps the marker to one sentence a parent agent can act
|
|
97
|
-
on; an unknown marker keeps the marker and names the tool to call next, and no stack ever reaches
|
|
98
|
-
the model — including the one shape with no separator in it, where `ResilientError.ensure` swaps a
|
|
99
|
-
plain-text response body into `type` and its stack into `message`.
|
|
100
|
-
|
|
101
|
-
**A refusal reads the same wherever it is rendered.** The same marker arrives thrown from a call
|
|
102
|
-
and stored as text — `job.error`, `slot.lastError`, a conversion's `lastError`, a pipeline row's
|
|
103
|
-
`error` — so every one of those goes through `refusalPhrase` too. Anything that is not a refusal,
|
|
104
|
-
a build warning above all, is rendered exactly as it stands.
|
|
105
|
-
|
|
106
80
|
**The harness installer never writes the token.** Each configuration references the environment
|
|
107
81
|
variable in its own syntax, so what it writes is safe to commit. `tests/harness.spec.ts` greps
|
|
108
82
|
every written file for a token shape.
|
|
@@ -119,7 +93,7 @@ This package ships embedded agent skills under `agent-meta/`. After installing y
|
|
|
119
93
|
your project's skill store (`.agents/skills/`):
|
|
120
94
|
|
|
121
95
|
```sh
|
|
122
|
-
npx @owlmeans/agent-skills@^0.1.18-rc.
|
|
96
|
+
npx @owlmeans/agent-skills@^0.1.18-rc.16
|
|
123
97
|
```
|
|
124
98
|
|
|
125
99
|
The embedded files are version-matched to this package release. Do not edit them
|
package/build/api/remote.d.ts
CHANGED
|
@@ -1,16 +1,6 @@
|
|
|
1
1
|
import type { ClientConfig, ClientContext } from '@owlmeans/client-context';
|
|
2
2
|
import type { ConnectorApi } from '../types.js';
|
|
3
3
|
type Ctx = ClientContext<ClientConfig>;
|
|
4
|
-
/** A broken HTTP connection, as opposed to a refusal the platform deliberately answered. */
|
|
5
|
-
export declare const isTransientTransportError: (value: unknown) => boolean;
|
|
6
|
-
/**
|
|
7
|
-
* Recover a long poll with one non-blocking snapshot.
|
|
8
|
-
*
|
|
9
|
-
* Repeating the whole poll can exceed the MCP host's 45-second tool ceiling after a proxy drops a
|
|
10
|
-
* response near the end of its 30-second window. A snapshot asks for the same durable job row with
|
|
11
|
-
* no wait, so the caller receives the current state without duplicating or restarting any work.
|
|
12
|
-
*/
|
|
13
|
-
export declare const recoverLongPoll: <T>(poll: () => Promise<T>, snapshot: () => Promise<T>) => Promise<T>;
|
|
14
4
|
/**
|
|
15
5
|
* The connector API over HTTP.
|
|
16
6
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"remote.d.ts","sourceRoot":"","sources":["../../src/api/remote.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAA;
|
|
1
|
+
{"version":3,"file":"remote.d.ts","sourceRoot":"","sources":["../../src/api/remote.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAA;AAQ3E,OAAO,KAAK,EAAE,YAAY,EAA6C,MAAM,aAAa,CAAA;AAE1F,KAAK,GAAG,GAAG,aAAa,CAAC,YAAY,CAAC,CAAA;AAEtC;;;;;;;GAOG;AACH,eAAO,MAAM,sBAAsB,YAAa,GAAG,KAAG,YA+FrD,CAAA"}
|
package/build/api/remote.js
CHANGED
|
@@ -1,43 +1,5 @@
|
|
|
1
1
|
import { connectRef } from '@owlmeans/viable-common';
|
|
2
2
|
import { TOOL_DEADLINE_MS } from '../consts.js';
|
|
3
|
-
const TRANSIENT_TRANSPORT_CODES = new Set([
|
|
4
|
-
'ECONNRESET', 'ECONNREFUSED', 'EPIPE', 'ETIMEDOUT', 'UND_ERR_CONNECT_TIMEOUT',
|
|
5
|
-
'UND_ERR_HEADERS_TIMEOUT', 'UND_ERR_SOCKET',
|
|
6
|
-
]);
|
|
7
|
-
/** A broken HTTP connection, as opposed to a refusal the platform deliberately answered. */
|
|
8
|
-
export const isTransientTransportError = (value) => {
|
|
9
|
-
const seen = new Set();
|
|
10
|
-
let current = value;
|
|
11
|
-
while (current != null && !seen.has(current)) {
|
|
12
|
-
seen.add(current);
|
|
13
|
-
const error = current;
|
|
14
|
-
if (typeof error.code === 'string' && TRANSIENT_TRANSPORT_CODES.has(error.code))
|
|
15
|
-
return true;
|
|
16
|
-
const message = typeof error.message === 'string' ? error.message : String(current);
|
|
17
|
-
if (/\b(?:ECONNRESET|ECONNREFUSED|EPIPE|ETIMEDOUT|UND_ERR_(?:CONNECT_TIMEOUT|HEADERS_TIMEOUT|SOCKET))\b/.test(message)) {
|
|
18
|
-
return true;
|
|
19
|
-
}
|
|
20
|
-
current = error.cause;
|
|
21
|
-
}
|
|
22
|
-
return false;
|
|
23
|
-
};
|
|
24
|
-
/**
|
|
25
|
-
* Recover a long poll with one non-blocking snapshot.
|
|
26
|
-
*
|
|
27
|
-
* Repeating the whole poll can exceed the MCP host's 45-second tool ceiling after a proxy drops a
|
|
28
|
-
* response near the end of its 30-second window. A snapshot asks for the same durable job row with
|
|
29
|
-
* no wait, so the caller receives the current state without duplicating or restarting any work.
|
|
30
|
-
*/
|
|
31
|
-
export const recoverLongPoll = async (poll, snapshot) => {
|
|
32
|
-
try {
|
|
33
|
-
return await poll();
|
|
34
|
-
}
|
|
35
|
-
catch (error) {
|
|
36
|
-
if (!isTransientTransportError(error))
|
|
37
|
-
throw error;
|
|
38
|
-
return await snapshot();
|
|
39
|
-
}
|
|
40
|
-
};
|
|
41
3
|
/**
|
|
42
4
|
* The connector API over HTTP.
|
|
43
5
|
*
|
|
@@ -93,17 +55,12 @@ export const makeRemoteConnectorApi = (context) => {
|
|
|
93
55
|
modify: async (id, prompt) => await context.entrypoint(connectRef.project.modify).call({
|
|
94
56
|
params: { id }, body: { prompt }, timeout: TOOL_DEADLINE_MS,
|
|
95
57
|
}),
|
|
96
|
-
job: async (id, jobId, waitSec) =>
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
});
|
|
103
|
-
return waitSec == null
|
|
104
|
-
? await read()
|
|
105
|
-
: await recoverLongPoll(async () => await read(waitSec), async () => await read(0));
|
|
106
|
-
},
|
|
58
|
+
job: async (id, jobId, waitSec) => await context
|
|
59
|
+
.entrypoint(connectRef.project.job).call({
|
|
60
|
+
params: { id, jobId },
|
|
61
|
+
query: waitSec == null ? {} : { wait: waitSec },
|
|
62
|
+
timeout: waitSec == null ? TOOL_DEADLINE_MS : (waitSec + 10) * 1000,
|
|
63
|
+
}),
|
|
107
64
|
},
|
|
108
65
|
story: {
|
|
109
66
|
list: async (id, query) => await context.entrypoint(connectRef.story.list).call({
|
|
@@ -122,11 +79,6 @@ export const makeRemoteConnectorApi = (context) => {
|
|
|
122
79
|
params: { id, storyId }, timeout: TOOL_DEADLINE_MS,
|
|
123
80
|
}),
|
|
124
81
|
},
|
|
125
|
-
files: {
|
|
126
|
-
list: async (id) => await context.entrypoint(connectRef.files.list).call({
|
|
127
|
-
params: { id }, timeout: TOOL_DEADLINE_MS,
|
|
128
|
-
}),
|
|
129
|
-
},
|
|
130
82
|
pipeline: {
|
|
131
83
|
state: async (id, runId) => await context
|
|
132
84
|
.entrypoint(connectRef.pipeline.state).call({ params: { id, runId }, timeout: TOOL_DEADLINE_MS }),
|
|
@@ -134,33 +86,6 @@ export const makeRemoteConnectorApi = (context) => {
|
|
|
134
86
|
params: { id, runId }, body: args ?? {}, timeout: TOOL_DEADLINE_MS,
|
|
135
87
|
}),
|
|
136
88
|
},
|
|
137
|
-
convert: {
|
|
138
|
-
create: async (args) => await context.entrypoint(connectRef.convert.create).call({
|
|
139
|
-
body: args, timeout: TOOL_DEADLINE_MS,
|
|
140
|
-
}),
|
|
141
|
-
check: async (id) => await context
|
|
142
|
-
.entrypoint(connectRef.convert.check).call({ params: { id }, timeout: TOOL_DEADLINE_MS }),
|
|
143
|
-
start: async (id) => await context
|
|
144
|
-
.entrypoint(connectRef.convert.start).call({ params: { id }, timeout: TOOL_DEADLINE_MS }),
|
|
145
|
-
proceed: async (id, decision, note) => await context.entrypoint(connectRef.convert.proceed).call({
|
|
146
|
-
params: { id }, body: { decision, ...(note != null ? { note } : {}) },
|
|
147
|
-
timeout: TOOL_DEADLINE_MS,
|
|
148
|
-
}),
|
|
149
|
-
cancel: async (id) => await context
|
|
150
|
-
.entrypoint(connectRef.convert.cancel).call({ params: { id }, timeout: TOOL_DEADLINE_MS }),
|
|
151
|
-
status: async (id) => await context
|
|
152
|
-
.entrypoint(connectRef.convert.status).call({ params: { id }, timeout: TOOL_DEADLINE_MS }),
|
|
153
|
-
purge: async (id) => await context
|
|
154
|
-
.entrypoint(connectRef.convert.purge).call({ params: { id }, timeout: TOOL_DEADLINE_MS }),
|
|
155
|
-
},
|
|
156
|
-
inquiry: {
|
|
157
|
-
answer: async (id, inquiryId, answer) =>
|
|
158
|
-
// The id travels twice on purpose: in the path, which is what the route addresses, and in
|
|
159
|
-
// the body, which is what the platform validates the answer against.
|
|
160
|
-
await context.entrypoint(connectRef.inquiry.answer).call({
|
|
161
|
-
params: { id, inquiryId }, body: { ...answer, inquiryId }, timeout: TOOL_DEADLINE_MS,
|
|
162
|
-
}),
|
|
163
|
-
},
|
|
164
89
|
};
|
|
165
90
|
};
|
|
166
91
|
//# sourceMappingURL=remote.js.map
|
package/build/api/remote.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"remote.js","sourceRoot":"","sources":["../../src/api/remote.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAA;
|
|
1
|
+
{"version":3,"file":"remote.js","sourceRoot":"","sources":["../../src/api/remote.ts"],"names":[],"mappings":"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"}
|
package/build/consts.d.ts
CHANGED
|
@@ -27,15 +27,6 @@ export declare const TOOL_DEADLINE_MS = 45000;
|
|
|
27
27
|
export declare const JOB_POLL_MAX_SEC = 30;
|
|
28
28
|
/** How long `next_task` waits before answering "nothing yet". Under every host's ceiling. */
|
|
29
29
|
export declare const NEXT_TASK_WAIT_MS = 30000;
|
|
30
|
-
/**
|
|
31
|
-
* How long `next_question` waits before answering "nothing yet".
|
|
32
|
-
*
|
|
33
|
-
* The same window as a model task's, and for the host's reasons rather than the person's: nobody
|
|
34
|
-
* is expected to answer inside it. What the wait buys is a parent that asked one call too early —
|
|
35
|
-
* the platform queues the question a moment after the job reported it — and what the ceiling buys
|
|
36
|
-
* is that the call returns before the host's own deadline turns it into a broken server.
|
|
37
|
-
*/
|
|
38
|
-
export declare const NEXT_QUESTION_WAIT_MS = 30000;
|
|
39
30
|
/** How long a pull waits for an operation before answering empty. */
|
|
40
31
|
export declare const PULL_WAIT_MS = 30000;
|
|
41
32
|
/** How often a socket says it is still there. Presence outlives three missed pings. */
|
package/build/consts.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"consts.d.ts","sourceRoot":"","sources":["../src/consts.ts"],"names":[],"mappings":"AAAA,oFAAoF;AACpF,eAAO,MAAM,SAAS,qBAAqB,CAAA;AAC3C,eAAO,MAAM,WAAW,mBAAmB,CAAA;AAC3C,eAAO,MAAM,UAAU,kBAAkB,CAAA;AACzC,eAAO,MAAM,OAAO,eAAe,CAAA;AACnC,eAAO,MAAM,WAAW,mBAAmB,CAAA;AAC3C,eAAO,MAAM,eAAe,uBAAuB,CAAA;AAEnD,sEAAsE;AACtE,eAAO,MAAM,WAAW,eAAe,CAAA;AAEvC;;;;;;;GAOG;AACH,eAAO,MAAM,gBAAgB,QAAS,CAAA;AAEtC;;;;;;;GAOG;AACH,eAAO,MAAM,gBAAgB,KAAK,CAAA;AAElC,6FAA6F;AAC7F,eAAO,MAAM,iBAAiB,QAAS,CAAA;AAEvC
|
|
1
|
+
{"version":3,"file":"consts.d.ts","sourceRoot":"","sources":["../src/consts.ts"],"names":[],"mappings":"AAAA,oFAAoF;AACpF,eAAO,MAAM,SAAS,qBAAqB,CAAA;AAC3C,eAAO,MAAM,WAAW,mBAAmB,CAAA;AAC3C,eAAO,MAAM,UAAU,kBAAkB,CAAA;AACzC,eAAO,MAAM,OAAO,eAAe,CAAA;AACnC,eAAO,MAAM,WAAW,mBAAmB,CAAA;AAC3C,eAAO,MAAM,eAAe,uBAAuB,CAAA;AAEnD,sEAAsE;AACtE,eAAO,MAAM,WAAW,eAAe,CAAA;AAEvC;;;;;;;GAOG;AACH,eAAO,MAAM,gBAAgB,QAAS,CAAA;AAEtC;;;;;;;GAOG;AACH,eAAO,MAAM,gBAAgB,KAAK,CAAA;AAElC,6FAA6F;AAC7F,eAAO,MAAM,iBAAiB,QAAS,CAAA;AAEvC,qEAAqE;AACrE,eAAO,MAAM,YAAY,QAAS,CAAA;AAElC,uFAAuF;AACvF,eAAO,MAAM,gBAAgB,QAAS,CAAA;AAEtC,yFAAyF;AACzF,eAAO,MAAM,mBAAmB,QAAS,CAAA;AAEzC,8DAA8D;AAC9D,eAAO,MAAM,oBAAoB,UAAwC,CAAA"}
|
package/build/consts.js
CHANGED
|
@@ -27,15 +27,6 @@ export const TOOL_DEADLINE_MS = 45_000;
|
|
|
27
27
|
export const JOB_POLL_MAX_SEC = 30;
|
|
28
28
|
/** How long `next_task` waits before answering "nothing yet". Under every host's ceiling. */
|
|
29
29
|
export const NEXT_TASK_WAIT_MS = 30_000;
|
|
30
|
-
/**
|
|
31
|
-
* How long `next_question` waits before answering "nothing yet".
|
|
32
|
-
*
|
|
33
|
-
* The same window as a model task's, and for the host's reasons rather than the person's: nobody
|
|
34
|
-
* is expected to answer inside it. What the wait buys is a parent that asked one call too early —
|
|
35
|
-
* the platform queues the question a moment after the job reported it — and what the ceiling buys
|
|
36
|
-
* is that the call returns before the host's own deadline turns it into a broken server.
|
|
37
|
-
*/
|
|
38
|
-
export const NEXT_QUESTION_WAIT_MS = 30_000;
|
|
39
30
|
/** How long a pull waits for an operation before answering empty. */
|
|
40
31
|
export const PULL_WAIT_MS = 30_000;
|
|
41
32
|
/** How often a socket says it is still there. Presence outlives three missed pings. */
|
package/build/consts.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"consts.js","sourceRoot":"","sources":["../src/consts.ts"],"names":[],"mappings":"AAAA,oFAAoF;AACpF,MAAM,CAAC,MAAM,SAAS,GAAG,kBAAkB,CAAA;AAC3C,MAAM,CAAC,MAAM,WAAW,GAAG,gBAAgB,CAAA;AAC3C,MAAM,CAAC,MAAM,UAAU,GAAG,eAAe,CAAA;AACzC,MAAM,CAAC,MAAM,OAAO,GAAG,YAAY,CAAA;AACnC,MAAM,CAAC,MAAM,WAAW,GAAG,gBAAgB,CAAA;AAC3C,MAAM,CAAC,MAAM,eAAe,GAAG,oBAAoB,CAAA;AAEnD,sEAAsE;AACtE,MAAM,CAAC,MAAM,WAAW,GAAG,YAAY,CAAA;AAEvC;;;;;;;GAOG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAAG,MAAM,CAAA;AAEtC;;;;;;;GAOG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAAG,EAAE,CAAA;AAElC,6FAA6F;AAC7F,MAAM,CAAC,MAAM,iBAAiB,GAAG,MAAM,CAAA;AAEvC
|
|
1
|
+
{"version":3,"file":"consts.js","sourceRoot":"","sources":["../src/consts.ts"],"names":[],"mappings":"AAAA,oFAAoF;AACpF,MAAM,CAAC,MAAM,SAAS,GAAG,kBAAkB,CAAA;AAC3C,MAAM,CAAC,MAAM,WAAW,GAAG,gBAAgB,CAAA;AAC3C,MAAM,CAAC,MAAM,UAAU,GAAG,eAAe,CAAA;AACzC,MAAM,CAAC,MAAM,OAAO,GAAG,YAAY,CAAA;AACnC,MAAM,CAAC,MAAM,WAAW,GAAG,gBAAgB,CAAA;AAC3C,MAAM,CAAC,MAAM,eAAe,GAAG,oBAAoB,CAAA;AAEnD,sEAAsE;AACtE,MAAM,CAAC,MAAM,WAAW,GAAG,YAAY,CAAA;AAEvC;;;;;;;GAOG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAAG,MAAM,CAAA;AAEtC;;;;;;;GAOG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAAG,EAAE,CAAA;AAElC,6FAA6F;AAC7F,MAAM,CAAC,MAAM,iBAAiB,GAAG,MAAM,CAAA;AAEvC,qEAAqE;AACrE,MAAM,CAAC,MAAM,YAAY,GAAG,MAAM,CAAA;AAElC,uFAAuF;AACvF,MAAM,CAAC,MAAM,gBAAgB,GAAG,MAAM,CAAA;AAEtC,yFAAyF;AACzF,MAAM,CAAC,MAAM,mBAAmB,GAAG,MAAM,CAAA;AAEzC,8DAA8D;AAC9D,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,CAAC,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/context/index.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAA;AAM3E,OAAO,EAAE,OAAO,EAA4C,MAAM,yBAAyB,CAAA;AAY3F,MAAM,WAAW,iBAAiB;IAChC,MAAM,EAAE,MAAM,CAAA;IACd,KAAK,EAAE,MAAM,CAAA;IACb,gFAAgF;IAChF,OAAO,CAAC,EAAE,MAAM,CAAA;CACjB;AAED;;;;;;;;;;GAUG;AACH,eAAO,MAAM,cAAc,SAAgB,iBAAiB,KAAG,OAAO,CAAC,aAAa,CAAC,YAAY,CAAC,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/context/index.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAA;AAM3E,OAAO,EAAE,OAAO,EAA4C,MAAM,yBAAyB,CAAA;AAY3F,MAAM,WAAW,iBAAiB;IAChC,MAAM,EAAE,MAAM,CAAA;IACd,KAAK,EAAE,MAAM,CAAA;IACb,gFAAgF;IAChF,OAAO,CAAC,EAAE,MAAM,CAAA;CACjB;AAED;;;;;;;;;;GAUG;AACH,eAAO,MAAM,cAAc,SAAgB,iBAAiB,KAAG,OAAO,CAAC,aAAa,CAAC,YAAY,CAAC,CAmEjG,CAAA;AAED,OAAO,EAAE,OAAO,EAAE,CAAA"}
|
package/build/context/index.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { AppType } from '@owlmeans/context';
|
|
2
2
|
import { makeClientContext } from '@owlmeans/client-context';
|
|
3
|
-
import {
|
|
4
|
-
import {
|
|
3
|
+
import { bind } from '@owlmeans/client-entrypoint';
|
|
4
|
+
import { openProtocol } from '@owlmeans/entrypoint';
|
|
5
5
|
import { route } from '@owlmeans/route';
|
|
6
6
|
import { authMiddleware, DEFAULT_GUARD } from '@owlmeans/auth-common';
|
|
7
7
|
import { makeTokenCarrierGuard } from '@owlmeans/auth-token';
|
|
@@ -75,15 +75,12 @@ export const makeSdkContext = async (opts) => {
|
|
|
75
75
|
});
|
|
76
76
|
// The socket route hangs under the platform's own websocket base, so that base has to exist
|
|
77
77
|
// here too — a parent a registry cannot resolve fails the whole context at init, not the one
|
|
78
|
-
// call that would have used it.
|
|
79
|
-
//
|
|
80
|
-
const parent =
|
|
81
|
-
const entrypoints = [parent, ...surface];
|
|
82
|
-
//
|
|
83
|
-
//
|
|
84
|
-
for (const declared of surface) {
|
|
85
|
-
elevate(entrypoints, declared.route.route.alias);
|
|
86
|
-
}
|
|
78
|
+
// call that would have used it. It is a declaration-only namespace, so its client binding has
|
|
79
|
+
// no screen or request implementation.
|
|
80
|
+
const parent = openProtocol(route(UPDATE_BASE, '/update'));
|
|
81
|
+
const entrypoints = [bind(parent), ...surface.map(declaration => bind(declaration))];
|
|
82
|
+
// Every caller gets a context-local client binding from the immutable protocol it shares with
|
|
83
|
+
// the server. No alias lookup can drift from a path or contract declaration.
|
|
87
84
|
context.registerEntrypoints(entrypoints);
|
|
88
85
|
await context.configure().init();
|
|
89
86
|
return context;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/context/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAA;AAC3C,OAAO,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAA;AAE5D,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/context/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -23,21 +23,6 @@ export declare class SandboxPathError extends Error {
|
|
|
23
23
|
readonly name = "SandboxPathError";
|
|
24
24
|
constructor(file: string);
|
|
25
25
|
}
|
|
26
|
-
/**
|
|
27
|
-
* A file command was asked for something it must refuse whatever the caller intended.
|
|
28
|
-
*
|
|
29
|
-
* Two conditions today, and both are about not destroying what is already there: a relocation into
|
|
30
|
-
* a directory that already holds files (the move would interleave two trees, and nothing
|
|
31
|
-
* afterwards could tell them apart), and a removal of the project root (which is `deleteProject`,
|
|
32
|
-
* a command with its own name and its own keep list).
|
|
33
|
-
*
|
|
34
|
-
* Thrown rather than answered, unlike the git refusals: those are policies a caller can plan
|
|
35
|
-
* around, and these two mean the caller's own arguments were wrong.
|
|
36
|
-
*/
|
|
37
|
-
export declare class FileCommandRefused extends Error {
|
|
38
|
-
readonly name = "FileCommandRefused";
|
|
39
|
-
constructor(message: string);
|
|
40
|
-
}
|
|
41
26
|
/**
|
|
42
27
|
* A revert was asked for on a tree with uncommitted work in it.
|
|
43
28
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../src/executor/errors.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAA;AAGpE;;;;;;;;;;;;GAYG;AAEH;;;;;;GAMG;AACH,qBAAa,gBAAiB,SAAQ,KAAK;IACzC,SAAyB,IAAI,sBAAqB;IAElD,YAAY,IAAI,EAAE,MAAM,EAEvB;CACF;AAED
|
|
1
|
+
{"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../src/executor/errors.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAA;AAGpE;;;;;;;;;;;;GAYG;AAEH;;;;;;GAMG;AACH,qBAAa,gBAAiB,SAAQ,KAAK;IACzC,SAAyB,IAAI,sBAAqB;IAElD,YAAY,IAAI,EAAE,MAAM,EAEvB;CACF;AAED;;;;;;GAMG;AACH,qBAAa,YAAa,SAAQ,KAAK;IACrC,SAAyB,IAAI,kBAAiB;IAE9C,YAAY,GAAG,EAAE,MAAM,EAEtB;CACF;AAED,2FAA2F;AAC3F,qBAAa,aAAc,SAAQ,KAAK;IACtC,SAAyB,IAAI,mBAAkB;IAE/C,YAAY,OAAO,EAAE,MAAM,EAE1B;CACF;AAED;;;;;;GAMG;AACH,qBAAa,oBAAqB,SAAQ,KAAK;aAGjB,MAAM,EAAE,qBAAqB;IAFzD,SAAyB,IAAI,0BAAyB;IAEtD,YAA4B,MAAM,EAAE,qBAAqB,EAExD;CACF"}
|
package/build/executor/errors.js
CHANGED
|
@@ -25,23 +25,6 @@ export class SandboxPathError extends Error {
|
|
|
25
25
|
super(`Path escapes the sandbox: ${file}`);
|
|
26
26
|
}
|
|
27
27
|
}
|
|
28
|
-
/**
|
|
29
|
-
* A file command was asked for something it must refuse whatever the caller intended.
|
|
30
|
-
*
|
|
31
|
-
* Two conditions today, and both are about not destroying what is already there: a relocation into
|
|
32
|
-
* a directory that already holds files (the move would interleave two trees, and nothing
|
|
33
|
-
* afterwards could tell them apart), and a removal of the project root (which is `deleteProject`,
|
|
34
|
-
* a command with its own name and its own keep list).
|
|
35
|
-
*
|
|
36
|
-
* Thrown rather than answered, unlike the git refusals: those are policies a caller can plan
|
|
37
|
-
* around, and these two mean the caller's own arguments were wrong.
|
|
38
|
-
*/
|
|
39
|
-
export class FileCommandRefused extends Error {
|
|
40
|
-
name = 'FileCommandRefused';
|
|
41
|
-
constructor(message) {
|
|
42
|
-
super(message);
|
|
43
|
-
}
|
|
44
|
-
}
|
|
45
28
|
/**
|
|
46
29
|
* A revert was asked for on a tree with uncommitted work in it.
|
|
47
30
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"errors.js","sourceRoot":"","sources":["../../src/executor/errors.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAA;AAE/D;;;;;;;;;;;;GAYG;AAEH;;;;;;GAMG;AACH,MAAM,OAAO,gBAAiB,SAAQ,KAAK;IAChB,IAAI,GAAG,kBAAkB,CAAA;IAElD,YAAY,IAAY;QACtB,KAAK,CAAC,6BAA6B,IAAI,EAAE,CAAC,CAAA;IAC5C,CAAC;CACF;AAED
|
|
1
|
+
{"version":3,"file":"errors.js","sourceRoot":"","sources":["../../src/executor/errors.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAA;AAE/D;;;;;;;;;;;;GAYG;AAEH;;;;;;GAMG;AACH,MAAM,OAAO,gBAAiB,SAAQ,KAAK;IAChB,IAAI,GAAG,kBAAkB,CAAA;IAElD,YAAY,IAAY;QACtB,KAAK,CAAC,6BAA6B,IAAI,EAAE,CAAC,CAAA;IAC5C,CAAC;CACF;AAED;;;;;;GAMG;AACH,MAAM,OAAO,YAAa,SAAQ,KAAK;IACZ,IAAI,GAAG,cAAc,CAAA;IAE9C,YAAY,GAAW;QACrB,KAAK,CAAC,yCAAyC,GAAG,EAAE,CAAC,CAAA;IACvD,CAAC;CACF;AAED,2FAA2F;AAC3F,MAAM,OAAO,aAAc,SAAQ,KAAK;IACb,IAAI,GAAG,eAAe,CAAA;IAE/C,YAAY,OAAe;QACzB,KAAK,CAAC,OAAO,CAAC,CAAA;IAChB,CAAC;CACF;AAED;;;;;;GAMG;AACH,MAAM,OAAO,oBAAqB,SAAQ,KAAK;IAGjB,MAAM;IAFT,IAAI,GAAG,sBAAsB,CAAA;IAEtD,YAA4B,MAA6B;QACvD,KAAK,CAAC,+DAA+D,qBAAqB,CAAC,MAAM,CAAC,EAAE,CAAC,CAAA;sBAD3E,MAAM;IAElC,CAAC;CACF"}
|
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
import { SubProject } from '@owlmeans/viable-common';
|
|
2
|
-
import type { StatTreeResult } from '@owlmeans/viable-common';
|
|
3
2
|
/** What `readSource` and friends answer with — the shape the platform's file helpers parse. */
|
|
4
3
|
export interface LocalSourceFile {
|
|
5
4
|
path: string;
|
|
@@ -52,63 +51,6 @@ export declare const createLocalFileHelper: (projectPath: string) => {
|
|
|
52
51
|
code: string;
|
|
53
52
|
}) => Promise<void>;
|
|
54
53
|
deleteFile: (filePath: string, noThrow?: boolean) => Promise<void>;
|
|
55
|
-
/**
|
|
56
|
-
* The tree, one line per file, bounded.
|
|
57
|
-
*
|
|
58
|
-
* One command rather than a listing plus a read per entry: the caller is a census over a
|
|
59
|
-
* repository somebody else wrote, which may hold a hundred thousand files, and one round trip
|
|
60
|
-
* each — over a connector, on somebody's laptop — is not a slower walk but a walk that never
|
|
61
|
-
* finishes.
|
|
62
|
-
*
|
|
63
|
-
* `total` counts what the walk SAW and `entries` what it returned. They differ once the limit
|
|
64
|
-
* is reached, and that difference is the only thing that tells a caller its picture of the
|
|
65
|
-
* tree is partial: a listing that reported only its own length would be indistinguishable
|
|
66
|
-
* from a small repository.
|
|
67
|
-
*
|
|
68
|
-
* Every entry's `path` is relative to the directory ASKED FOR, not to the project root. That
|
|
69
|
-
* is the contract the in-process helper and the publisher answer, and one executor answering
|
|
70
|
-
* a different relativity is worse than either choice: the caller is a census that follows a
|
|
71
|
-
* listing with a `readHead` of what it listed, and nothing downstream knows which of the
|
|
72
|
-
* three produced the path it is holding.
|
|
73
|
-
*/
|
|
74
|
-
statTree: (dir?: string, limit?: number) => Promise<StatTreeResult>;
|
|
75
|
-
/**
|
|
76
|
-
* The first bytes of one file, decoded as text.
|
|
77
|
-
*
|
|
78
|
-
* A classification reads a head; reading whole files to do it would hold a megabyte export in
|
|
79
|
-
* memory to look at its first line. Whatever the decoding produces for a binary head is the
|
|
80
|
-
* answer — that IS the signal an entropy classification wants, and cleaning it up would hide
|
|
81
|
-
* the one thing the caller is asking about.
|
|
82
|
-
*/
|
|
83
|
-
readHead: (filePath: string, bytes: number) => Promise<string>;
|
|
84
|
-
/**
|
|
85
|
-
* Move everything in the project root under one directory, leaving a named few where they are.
|
|
86
|
-
*
|
|
87
|
-
* What makes a converted project possible: the origin's own tree goes below, a Viable target
|
|
88
|
-
* is grown above it, and the two never share a path. It is the same walk `emptyProject` does —
|
|
89
|
-
* kept paths may be nested, a directory holding one is walked rather than moved, and a
|
|
90
|
-
* directory left empty by that walk does not survive as a shell.
|
|
91
|
-
*
|
|
92
|
-
* The always-keep set applies here too and for the same reason: `.git` is the developer's
|
|
93
|
-
* history and moving it under the origin would take the project's whole history with it,
|
|
94
|
-
* `.viable` is how a later session recognizes the project, and the two `.env` files hold what
|
|
95
|
-
* the platform cannot re-derive.
|
|
96
|
-
*
|
|
97
|
-
* Refuses a destination that already holds something. A relocation into an occupied directory
|
|
98
|
-
* interleaves two trees, and nothing afterwards can tell which files came from where.
|
|
99
|
-
*/
|
|
100
|
-
relocate: (dir: string, keep?: string[]) => Promise<{
|
|
101
|
-
moved: number;
|
|
102
|
-
kept: string[];
|
|
103
|
-
}>;
|
|
104
|
-
/**
|
|
105
|
-
* Delete a directory and everything under it — the purge of a relocated origin.
|
|
106
|
-
*
|
|
107
|
-
* Refuses the project root: emptying the project is `emptyProject`, which has a keep list this
|
|
108
|
-
* does not, and a purge that resolved to `.` would take the developer's `.git` and `.env` with
|
|
109
|
-
* the origin it was asked to remove.
|
|
110
|
-
*/
|
|
111
|
-
removeTree: (dir: string) => Promise<void>;
|
|
112
54
|
getRootPath: (subproject?: SubProject) => string;
|
|
113
55
|
findFilesWithEnvVars: (frontend?: boolean) => Promise<string[]>;
|
|
114
56
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"files.d.ts","sourceRoot":"","sources":["../../src/executor/files.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"files.d.ts","sourceRoot":"","sources":["../../src/executor/files.ts"],"names":[],"mappings":"AAIA,OAAO,EAAwD,UAAU,EAAE,MAAM,yBAAyB,CAAA;AAK1G,+FAA+F;AAC/F,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,MAAM,CAAA;IACZ,IAAI,CAAC,EAAE,MAAM,CAAA;CACd;AAED,MAAM,WAAW,iBAAiB;IAChC,cAAc,CAAC,EAAE,OAAO,CAAA;IACxB,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAA;CACpB;AAED;;;;;;GAMG;AACH,eAAO,MAAM,qBAAqB,gBAAiB,MAAM;IAgCrD;;;;;;;;;;;OAWG;4BAC2B,MAAM,EAAE;;IAgDtC;;;;;;;OAOG;;gDA6BQ,iBAAiB,KACzB,OAAO,CAAC,MAAM,EAAE,CAAC;kCAyCgB,MAAM,EAAE,KAAG,OAAO,CAAC,MAAM,EAAE,CAAC;qBASzC,MAAM,yBAAqB,OAAO,CAAC,MAAM,CAAC;2BAWpC,MAAM,KAAG,OAAO,CAAC,eAAe,CAAC;mCAOzB,MAAM,KAAG,OAAO,CAAC,eAAe,CAAC;yBAQ3C,MAAM,GAAG,MAAM,EAAE,KAAG,OAAO,CAAC,eAAe,EAAE,CAAC;0BAY7C,MAAM,WAAW,MAAM,KAAG,OAAO,CAAC,IAAI,CAAC;wBAMzC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,KAAG,OAAO,CAAC,IAAI,CAAC;2BAM3C,MAAM,wBAAmB,OAAO,CAAC,IAAI,CAAC;+BAWxC,UAAU,KAAG,MAAM;sCAIN,OAAO,KAAG,OAAO,CAAC,MAAM,EAAE,CAAC;CA+BtE,CAAA;AAED,MAAM,MAAM,eAAe,GAAG,UAAU,CAAC,OAAO,qBAAqB,CAAC,CAAA;AAoCtE;;;;;;GAMG;AACH,eAAO,MAAM,gBAAgB,QAAS,MAAM,QAAQ,MAAM,KAAG,MACU,CAAA"}
|