@rebon/cli-linux-x64 0.17.2 → 0.18.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.
- package/bin/compose-runtime/package.json +17 -0
- package/bin/compose-runtime/payload/compose/credentials-runtime.js +38 -0
- package/bin/compose-runtime/payload/compose/llm-runtime.js +330 -0
- package/bin/compose-runtime/payload/compose/loop-assembly.js +149 -0
- package/bin/compose-runtime/payload/compose/serve-dispatch.js +82 -0
- package/bin/compose-runtime/payload/compose/shims/dsh-anonymous-user-id.js +10 -0
- package/bin/compose-runtime/payload/compose/shims/dsh-credentials.js +13 -0
- package/bin/compose-runtime/payload/compose/shims/dsh-launch-environment.js +21 -0
- package/bin/compose-runtime/payload/compose/shims/dsh-llm.js +313 -0
- package/bin/compose-runtime/payload/compose/shims/dsh-settings.js +43 -0
- package/bin/compose-runtime/payload/compose/shims/dsh-tools.js +20 -0
- package/bin/compose-runtime/payload/compose/shims/dsh-web.js +10 -0
- package/bin/compose-runtime/payload/compose/shims/llm-adapter.js +32 -0
- package/bin/compose-runtime/payload/compose/shims/zod-lite.js +49 -0
- package/bin/compose-runtime/payload/compose/systemprompt-runtime.js +74 -0
- package/bin/compose-runtime/payload/compose/tools-runtime.js +228 -0
- package/bin/compose-runtime/payload/compose/web-runtime.js +204 -0
- package/bin/compose-runtime/payload/vendor/cordis/index.js +1530 -0
- package/bin/compose-runtime/payload/vendor/cosmokit/LICENSE +21 -0
- package/bin/compose-runtime/payload/vendor/cosmokit/index.mjs +357 -0
- package/bin/compose-runtime/payload/vendor/dsh/LICENSE-agent +21 -0
- package/bin/compose-runtime/payload/vendor/dsh/LICENSE-agent-loop +21 -0
- package/bin/compose-runtime/payload/vendor/dsh/LICENSE-llm-core +21 -0
- package/bin/compose-runtime/payload/vendor/dsh/LICENSE-llm-deepseek +21 -0
- package/bin/compose-runtime/payload/vendor/dsh/LICENSE-logger-console +21 -0
- package/bin/compose-runtime/payload/vendor/dsh/LICENSE-scope +21 -0
- package/bin/compose-runtime/payload/vendor/dsh/LICENSE-session +21 -0
- package/bin/compose-runtime/payload/vendor/dsh/LICENSE-system-prompt +21 -0
- package/bin/compose-runtime/payload/vendor/dsh/LICENSE-timeout +21 -0
- package/bin/compose-runtime/payload/vendor/dsh/LICENSE-timer +21 -0
- package/bin/compose-runtime/payload/vendor/dsh/LICENSE-tool-todo +21 -0
- package/bin/compose-runtime/payload/vendor/dsh/LICENSE-tool-web +21 -0
- package/bin/compose-runtime/payload/vendor/dsh/LICENSE-tools-schema +21 -0
- package/bin/compose-runtime/payload/vendor/dsh/LICENSE-web-search-exa +21 -0
- package/bin/compose-runtime/payload/vendor/dsh/agent-loop.js +1193 -0
- package/bin/compose-runtime/payload/vendor/dsh/agent.js +714 -0
- package/bin/compose-runtime/payload/vendor/dsh/llm-core.js +269 -0
- package/bin/compose-runtime/payload/vendor/dsh/llm-deepseek.js +672 -0
- package/bin/compose-runtime/payload/vendor/dsh/logger-console.js +83 -0
- package/bin/compose-runtime/payload/vendor/dsh/scope.js +287 -0
- package/bin/compose-runtime/payload/vendor/dsh/session.js +1668 -0
- package/bin/compose-runtime/payload/vendor/dsh/system-prompt.js +309 -0
- package/bin/compose-runtime/payload/vendor/dsh/timeout.js +100 -0
- package/bin/compose-runtime/payload/vendor/dsh/timer.js +128 -0
- package/bin/compose-runtime/payload/vendor/dsh/tool-todo.js +143 -0
- package/bin/compose-runtime/payload/vendor/dsh/tool-web.js +1527 -0
- package/bin/compose-runtime/payload/vendor/dsh/tools-schema.js +849 -0
- package/bin/compose-runtime/payload/vendor/dsh/web-search-exa.js +122 -0
- package/bin/compose-runtime/payload/vendor/eventsource-parser/LICENSE +21 -0
- package/bin/compose-runtime/payload/vendor/eventsource-parser/index.js +177 -0
- package/bin/compose-runtime/payload/vendor/eventsource-parser/stream.js +48 -0
- package/bin/compose-runtime/payload/vendor/schemastery/index.mjs +656 -0
- package/bin/compose-runtime/payload-manifests.json +48 -0
- package/bin/compose-runtime/src/bridge.mjs +142 -0
- package/bin/compose-runtime/src/credentials-runtime.mjs +50 -0
- package/bin/compose-runtime/src/eventsource-stream.mjs +48 -0
- package/bin/compose-runtime/src/index.mjs +7 -0
- package/bin/compose-runtime/src/llm-runtime.mjs +326 -0
- package/bin/compose-runtime/src/loader.mjs +78 -0
- package/bin/compose-runtime/src/loop-assembly.mjs +237 -0
- package/bin/compose-runtime/src/payload.mjs +49 -0
- package/bin/compose-runtime/src/plugin.mjs +59 -0
- package/bin/compose-runtime/src/realm.mjs +223 -0
- package/bin/compose-runtime/src/registry.mjs +191 -0
- package/bin/compose-runtime/src/resolve.mjs +115 -0
- package/bin/compose-runtime/src/systemprompt-runtime.mjs +67 -0
- package/bin/compose-runtime/src/tools-runtime.mjs +239 -0
- package/bin/compose-runtime/src/web-runtime.mjs +209 -0
- package/bin/plugin-host/package.json +11 -0
- package/bin/plugin-host/src/bridge.mjs +64 -0
- package/bin/plugin-host/src/cli.mjs +105 -0
- package/bin/plugin-host/src/framing.mjs +113 -0
- package/bin/plugin-host/src/host.mjs +624 -0
- package/bin/plugin-host/src/json.mjs +196 -0
- package/bin/plugin-host/src/lifecycle.mjs +114 -0
- package/bin/plugin-host/src/loader.mjs +142 -0
- package/bin/plugin-host/src/methods.mjs +256 -0
- package/bin/plugin-host/src/protocol.mjs +129 -0
- package/bin/plugin-host/src/sdk.mjs +7 -0
- package/bin/rebon +0 -0
- package/bin/rebon-boa-helper +0 -0
- package/package.json +4 -1
|
@@ -0,0 +1,83 @@
|
|
|
1
|
+
// dsh-vendor/logger-console/src/shared.ts
|
|
2
|
+
import { Logger } from "@deepseek-ai/cordis";
|
|
3
|
+
import { Time } from "@deepseek-ai/cosmokit";
|
|
4
|
+
import z from "@deepseek-ai/schemastery";
|
|
5
|
+
var ConsoleExporter = class {
|
|
6
|
+
constructor(ctx, config = {}) {
|
|
7
|
+
this.ctx = ctx;
|
|
8
|
+
Object.assign(this, this.getDefaults(), config);
|
|
9
|
+
this.timestamp = Date.now();
|
|
10
|
+
ctx.logger.exporter(this);
|
|
11
|
+
}
|
|
12
|
+
ctx;
|
|
13
|
+
static name = "logger-console";
|
|
14
|
+
static Config = z.object({
|
|
15
|
+
colors: z.union([z.const(false), z.number()]),
|
|
16
|
+
maxLength: z.number(),
|
|
17
|
+
levels: z.dict(z.number()),
|
|
18
|
+
showDiff: z.boolean().default(false),
|
|
19
|
+
showTime: z.string().default("yyyy-MM-dd hh:mm:ss "),
|
|
20
|
+
label: z.object({
|
|
21
|
+
width: z.number(),
|
|
22
|
+
margin: z.number(),
|
|
23
|
+
align: z.union(["left", "right"])
|
|
24
|
+
})
|
|
25
|
+
});
|
|
26
|
+
colors;
|
|
27
|
+
maxLength;
|
|
28
|
+
levels;
|
|
29
|
+
showDiff;
|
|
30
|
+
showTime;
|
|
31
|
+
label;
|
|
32
|
+
timestamp;
|
|
33
|
+
formatters = {};
|
|
34
|
+
getDefaults() {
|
|
35
|
+
return {
|
|
36
|
+
colors: false,
|
|
37
|
+
showTime: "yyyy-MM-dd hh:mm:ss ",
|
|
38
|
+
showDiff: false
|
|
39
|
+
};
|
|
40
|
+
}
|
|
41
|
+
export(message) {
|
|
42
|
+
console.log(this.render(message));
|
|
43
|
+
}
|
|
44
|
+
render(message) {
|
|
45
|
+
const prefix = `[${message.type[0].toUpperCase()}]`;
|
|
46
|
+
const space = " ".repeat(this.label?.margin ?? 1);
|
|
47
|
+
let indent = 3 + space.length, output = "";
|
|
48
|
+
if (this.showTime) {
|
|
49
|
+
indent += this.showTime.length;
|
|
50
|
+
output += Logger.color(this, 8, Time.template(this.showTime));
|
|
51
|
+
}
|
|
52
|
+
const code = Logger.code(message.name, this.colors);
|
|
53
|
+
const label = Logger.color(this, code, message.name, ";1");
|
|
54
|
+
const padLength = (this.label?.width ?? 0) + label.length - message.name.length;
|
|
55
|
+
if (this.label?.align === "right") {
|
|
56
|
+
output += label.padStart(padLength) + space + prefix + space;
|
|
57
|
+
indent += (this.label.width ?? 0) + space.length;
|
|
58
|
+
} else {
|
|
59
|
+
output += prefix + space + label.padEnd(padLength) + space;
|
|
60
|
+
}
|
|
61
|
+
output += Logger.format(this, message).replace(/\n/g, "\n" + " ".repeat(indent));
|
|
62
|
+
if (this.showDiff && this.timestamp) {
|
|
63
|
+
const diff = message.ts - this.timestamp;
|
|
64
|
+
output += Logger.color(this, code, " +" + Time.format(diff));
|
|
65
|
+
}
|
|
66
|
+
this.timestamp = message.ts;
|
|
67
|
+
return output;
|
|
68
|
+
}
|
|
69
|
+
};
|
|
70
|
+
|
|
71
|
+
// dsh-vendor/logger-console/src/browser.ts
|
|
72
|
+
var ConsoleExporter2 = class extends ConsoleExporter {
|
|
73
|
+
export(message) {
|
|
74
|
+
const prefix = `[${message.type[0].toUpperCase()}] ${message.name}`;
|
|
75
|
+
const method = message.type === "error" ? "error" : message.type === "warn" ? "warn" : "log";
|
|
76
|
+
console[method](prefix, ...message.args);
|
|
77
|
+
}
|
|
78
|
+
};
|
|
79
|
+
var browser_default = ConsoleExporter2;
|
|
80
|
+
export {
|
|
81
|
+
ConsoleExporter2 as ConsoleExporter,
|
|
82
|
+
browser_default as default
|
|
83
|
+
};
|
|
@@ -0,0 +1,287 @@
|
|
|
1
|
+
// packages/core/scope/src/index.ts
|
|
2
|
+
import { Context as CordisContext } from "@deepseek-ai/cordis";
|
|
3
|
+
|
|
4
|
+
// packages/core/scope/src/store.ts
|
|
5
|
+
var NamedEntries = class {
|
|
6
|
+
constructor(duplicateError) {
|
|
7
|
+
this.duplicateError = duplicateError;
|
|
8
|
+
}
|
|
9
|
+
duplicateError;
|
|
10
|
+
data = /* @__PURE__ */ new Map();
|
|
11
|
+
/**
|
|
12
|
+
* Insert one unique name.
|
|
13
|
+
* @param name - name unique within this table.
|
|
14
|
+
* @param value - borrowed value to retain.
|
|
15
|
+
* @returns an idempotent undo that removes only this insertion.
|
|
16
|
+
*/
|
|
17
|
+
insert(name, value) {
|
|
18
|
+
const data = this.data;
|
|
19
|
+
if (data.has(name)) throw this.duplicateError(name);
|
|
20
|
+
data.set(name, value);
|
|
21
|
+
let active = true;
|
|
22
|
+
return () => {
|
|
23
|
+
if (!active) return;
|
|
24
|
+
active = false;
|
|
25
|
+
data.delete(name);
|
|
26
|
+
if (data.size === 0 && this.data === data) this.data = /* @__PURE__ */ new Map();
|
|
27
|
+
};
|
|
28
|
+
}
|
|
29
|
+
/**
|
|
30
|
+
* Read one named value.
|
|
31
|
+
* @param name - name to resolve.
|
|
32
|
+
* @returns the retained value, or `undefined` when absent.
|
|
33
|
+
*/
|
|
34
|
+
get(name) {
|
|
35
|
+
return this.data.get(name);
|
|
36
|
+
}
|
|
37
|
+
/**
|
|
38
|
+
* Test one name for membership.
|
|
39
|
+
* @param name - name to test.
|
|
40
|
+
* @returns whether the table contains that name.
|
|
41
|
+
*/
|
|
42
|
+
has(name) {
|
|
43
|
+
return this.data.has(name);
|
|
44
|
+
}
|
|
45
|
+
/**
|
|
46
|
+
* Iterate live names in insertion order.
|
|
47
|
+
* @returns the native live key iterator.
|
|
48
|
+
*/
|
|
49
|
+
keys() {
|
|
50
|
+
return this.data.keys();
|
|
51
|
+
}
|
|
52
|
+
/**
|
|
53
|
+
* Iterate live entries in insertion order.
|
|
54
|
+
* @returns the native live entry iterator.
|
|
55
|
+
*/
|
|
56
|
+
entries() {
|
|
57
|
+
return this.data.entries();
|
|
58
|
+
}
|
|
59
|
+
/**
|
|
60
|
+
* Iterate live values in insertion order.
|
|
61
|
+
* @returns the native live value iterator.
|
|
62
|
+
*/
|
|
63
|
+
values() {
|
|
64
|
+
return this.data.values();
|
|
65
|
+
}
|
|
66
|
+
/**
|
|
67
|
+
* Test whether this table has no entries.
|
|
68
|
+
* @returns whether the table is empty.
|
|
69
|
+
*/
|
|
70
|
+
isEmpty() {
|
|
71
|
+
return this.data.size === 0;
|
|
72
|
+
}
|
|
73
|
+
};
|
|
74
|
+
var AnonymousEntries = class {
|
|
75
|
+
data = /* @__PURE__ */ new Map();
|
|
76
|
+
/**
|
|
77
|
+
* Append one independently owned value.
|
|
78
|
+
* @param value - borrowed value to retain.
|
|
79
|
+
* @returns an idempotent undo for this exact append.
|
|
80
|
+
*/
|
|
81
|
+
append(value) {
|
|
82
|
+
const data = this.data;
|
|
83
|
+
const key = /* @__PURE__ */ Symbol();
|
|
84
|
+
data.set(key, value);
|
|
85
|
+
let active = true;
|
|
86
|
+
return () => {
|
|
87
|
+
if (!active) return;
|
|
88
|
+
active = false;
|
|
89
|
+
data.delete(key);
|
|
90
|
+
if (data.size === 0 && this.data === data) this.data = /* @__PURE__ */ new Map();
|
|
91
|
+
};
|
|
92
|
+
}
|
|
93
|
+
/**
|
|
94
|
+
* Iterate live values in insertion order.
|
|
95
|
+
* @returns the native live value iterator.
|
|
96
|
+
*/
|
|
97
|
+
values() {
|
|
98
|
+
return this.data.values();
|
|
99
|
+
}
|
|
100
|
+
/**
|
|
101
|
+
* Test whether this table has no entries.
|
|
102
|
+
* @returns whether the table is empty.
|
|
103
|
+
*/
|
|
104
|
+
isEmpty() {
|
|
105
|
+
return this.data.size === 0;
|
|
106
|
+
}
|
|
107
|
+
};
|
|
108
|
+
var ScopedLayers = class {
|
|
109
|
+
constructor(createLayer, onChange) {
|
|
110
|
+
this.createLayer = createLayer;
|
|
111
|
+
this.onChange = onChange;
|
|
112
|
+
this.global = createLayer(void 0);
|
|
113
|
+
}
|
|
114
|
+
createLayer;
|
|
115
|
+
onChange;
|
|
116
|
+
/** The eagerly constructed context-global layer. */
|
|
117
|
+
global;
|
|
118
|
+
scoped = /* @__PURE__ */ new Map();
|
|
119
|
+
/**
|
|
120
|
+
* Read an existing exact-scope overlay. Deliberately chain-blind: callers
|
|
121
|
+
* addressing one scope's OWN contributions (its restrictions, its guards)
|
|
122
|
+
* must not silently pick up an ancestor's — use {@link chainLayers} where
|
|
123
|
+
* inheritance is the point.
|
|
124
|
+
* @param scope - exact scope key; `undefined` denotes no overlay.
|
|
125
|
+
* @returns the existing scoped layer, or `undefined` without creating one.
|
|
126
|
+
*/
|
|
127
|
+
peek(scope2) {
|
|
128
|
+
if (scope2 === void 0) return void 0;
|
|
129
|
+
return this.scoped.get(scope2);
|
|
130
|
+
}
|
|
131
|
+
/**
|
|
132
|
+
* Existing overlays along the scope's parent chain ({@link scopeChainOf}),
|
|
133
|
+
* farthest ancestor first and the exact scope last, so a caller layering
|
|
134
|
+
* them in order gives the nearest scope the final word.
|
|
135
|
+
* @param scope - viewing scope, or `undefined` for no overlays.
|
|
136
|
+
* @returns the existing layers, nearest last; absent overlays are skipped.
|
|
137
|
+
*/
|
|
138
|
+
chainLayers(scope2) {
|
|
139
|
+
const layers = [];
|
|
140
|
+
for (const key of scopeChainOf(scope2).reverse()) {
|
|
141
|
+
const layer = this.scoped.get(key);
|
|
142
|
+
if (layer !== void 0) layers.push(layer);
|
|
143
|
+
}
|
|
144
|
+
return layers;
|
|
145
|
+
}
|
|
146
|
+
/**
|
|
147
|
+
* Materialize global named entries followed by scope-chain shadows,
|
|
148
|
+
* farthest ancestor first, so the nearest scope's entry wins a name.
|
|
149
|
+
* @param scope - viewing scope, or `undefined` for the global view.
|
|
150
|
+
* @param pick - select the named table from a layer.
|
|
151
|
+
* @returns an insertion-ordered effective map.
|
|
152
|
+
*/
|
|
153
|
+
merge(scope2, pick) {
|
|
154
|
+
const merged = new Map(pick(this.global).entries());
|
|
155
|
+
for (const layer of this.chainLayers(scope2)) {
|
|
156
|
+
for (const [name, value] of pick(layer).entries()) merged.set(name, value);
|
|
157
|
+
}
|
|
158
|
+
return merged;
|
|
159
|
+
}
|
|
160
|
+
/**
|
|
161
|
+
* Attach one synchronous layer mutation to its registration context.
|
|
162
|
+
* @param ctx - context that determines both scope visibility and effect ownership.
|
|
163
|
+
* @param action - atomic mutation returning its synchronous undo.
|
|
164
|
+
* @param options - Cordis effect label and optional change notification.
|
|
165
|
+
* @returns the exact disposer returned by `ctx.effect()`.
|
|
166
|
+
*/
|
|
167
|
+
effect(ctx, action, options) {
|
|
168
|
+
const scope2 = scopeOf(ctx);
|
|
169
|
+
const notify = options.notify ?? true;
|
|
170
|
+
const dispose = ctx.effect(function* () {
|
|
171
|
+
let layer;
|
|
172
|
+
let created = false;
|
|
173
|
+
if (scope2 === void 0) {
|
|
174
|
+
layer = this.global;
|
|
175
|
+
} else {
|
|
176
|
+
const existing = this.scoped.get(scope2);
|
|
177
|
+
if (existing === void 0) {
|
|
178
|
+
layer = this.createLayer(scope2);
|
|
179
|
+
this.scoped.set(scope2, layer);
|
|
180
|
+
created = true;
|
|
181
|
+
} else {
|
|
182
|
+
layer = existing;
|
|
183
|
+
}
|
|
184
|
+
}
|
|
185
|
+
let undo;
|
|
186
|
+
try {
|
|
187
|
+
undo = action(layer);
|
|
188
|
+
} catch (error) {
|
|
189
|
+
if (scope2 !== void 0 && created && layer.isEmpty()) this.scoped.delete(scope2);
|
|
190
|
+
throw error;
|
|
191
|
+
}
|
|
192
|
+
yield () => {
|
|
193
|
+
undo();
|
|
194
|
+
if (scope2 !== void 0 && layer.isEmpty()) this.scoped.delete(scope2);
|
|
195
|
+
if (notify) this.onChange();
|
|
196
|
+
};
|
|
197
|
+
if (notify) this.onChange();
|
|
198
|
+
}.bind(this), options.label);
|
|
199
|
+
return dispose;
|
|
200
|
+
}
|
|
201
|
+
};
|
|
202
|
+
|
|
203
|
+
// packages/core/scope/src/index.ts
|
|
204
|
+
var kScope = /* @__PURE__ */ Symbol("dsh.scope");
|
|
205
|
+
var carrierKeys = /* @__PURE__ */ new WeakMap();
|
|
206
|
+
var scopeParents = /* @__PURE__ */ new WeakMap();
|
|
207
|
+
function linkScopeParent(key, parent) {
|
|
208
|
+
for (let cursor = parent; cursor !== void 0; cursor = scopeParents.get(cursor)) {
|
|
209
|
+
if (cursor === key) throw new Error("dsh-scope: scope parent link would form a cycle");
|
|
210
|
+
}
|
|
211
|
+
scopeParents.set(key, parent);
|
|
212
|
+
}
|
|
213
|
+
function bindScopeParent(key, parent) {
|
|
214
|
+
if (scopeParents.has(key)) {
|
|
215
|
+
throw new Error("dsh-scope: scope key is already bound to a parent; re-linking requires the binding returned by the original bind");
|
|
216
|
+
}
|
|
217
|
+
linkScopeParent(key, parent);
|
|
218
|
+
return {
|
|
219
|
+
rebind(next) {
|
|
220
|
+
linkScopeParent(key, next);
|
|
221
|
+
}
|
|
222
|
+
};
|
|
223
|
+
}
|
|
224
|
+
function scopeParentOf(key) {
|
|
225
|
+
return scopeParents.get(key);
|
|
226
|
+
}
|
|
227
|
+
function scopeChainOf(key) {
|
|
228
|
+
const chain = [];
|
|
229
|
+
for (let cursor = key; cursor !== void 0; cursor = scopeParents.get(cursor)) chain.push(cursor);
|
|
230
|
+
return chain;
|
|
231
|
+
}
|
|
232
|
+
async function quiesceFiber(fiber) {
|
|
233
|
+
await Promise.resolve(fiber.dispose());
|
|
234
|
+
while (fiber.inertia !== void 0) await fiber.inertia;
|
|
235
|
+
}
|
|
236
|
+
function scope() {
|
|
237
|
+
}
|
|
238
|
+
function createScope(ctx, key, options) {
|
|
239
|
+
if (options?.parent !== void 0) bindScopeParent(key, options.parent);
|
|
240
|
+
const fiber = ctx.plugin(scope);
|
|
241
|
+
const scoped = fiber.ctx.extend({ [kScope]: key });
|
|
242
|
+
let disposing;
|
|
243
|
+
return {
|
|
244
|
+
ctx: scoped,
|
|
245
|
+
rawDispose: fiber.dispose,
|
|
246
|
+
dispose: () => disposing ??= quiesceFiber(fiber)
|
|
247
|
+
};
|
|
248
|
+
}
|
|
249
|
+
function scopeOf(ctx) {
|
|
250
|
+
return ctx[kScope];
|
|
251
|
+
}
|
|
252
|
+
function scopeTarget(base, key) {
|
|
253
|
+
const baseFilter = base[CordisContext.filter];
|
|
254
|
+
const carrier = {
|
|
255
|
+
[CordisContext.filter](ctx) {
|
|
256
|
+
if (baseFilter !== void 0 && !baseFilter.call(base, ctx)) return false;
|
|
257
|
+
const tag = scopeOf(ctx);
|
|
258
|
+
if (tag === void 0) return true;
|
|
259
|
+
for (let cursor = key; cursor !== void 0; cursor = scopeParents.get(cursor)) {
|
|
260
|
+
if (cursor === tag) return true;
|
|
261
|
+
}
|
|
262
|
+
return false;
|
|
263
|
+
}
|
|
264
|
+
};
|
|
265
|
+
carrierKeys.set(carrier, key);
|
|
266
|
+
return carrier;
|
|
267
|
+
}
|
|
268
|
+
function isScopeCarrier(value) {
|
|
269
|
+
return typeof value === "object" && value !== null && carrierKeys.has(value);
|
|
270
|
+
}
|
|
271
|
+
function carrierKeyOf(value) {
|
|
272
|
+
if (!isScopeCarrier(value)) return void 0;
|
|
273
|
+
return carrierKeys.get(value);
|
|
274
|
+
}
|
|
275
|
+
export {
|
|
276
|
+
AnonymousEntries,
|
|
277
|
+
NamedEntries,
|
|
278
|
+
ScopedLayers,
|
|
279
|
+
bindScopeParent,
|
|
280
|
+
carrierKeyOf,
|
|
281
|
+
createScope,
|
|
282
|
+
isScopeCarrier,
|
|
283
|
+
scopeChainOf,
|
|
284
|
+
scopeOf,
|
|
285
|
+
scopeParentOf,
|
|
286
|
+
scopeTarget
|
|
287
|
+
};
|