@intentic/extension-api 1.176.3 → 1.209.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 (49) hide show
  1. package/README.md +63 -13
  2. package/dist/api.d.ts +48 -1
  3. package/dist/api.d.ts.map +1 -1
  4. package/dist/diff.d.ts +20 -0
  5. package/dist/diff.d.ts.map +1 -0
  6. package/dist/diff.js +2 -0
  7. package/dist/diff.js.map +1 -0
  8. package/dist/engines.d.ts +2 -0
  9. package/dist/engines.d.ts.map +1 -0
  10. package/dist/engines.js +26 -0
  11. package/dist/engines.js.map +1 -0
  12. package/dist/facts.d.ts +1 -0
  13. package/dist/facts.d.ts.map +1 -1
  14. package/dist/host.d.ts +6 -0
  15. package/dist/host.d.ts.map +1 -0
  16. package/dist/host.js +15 -0
  17. package/dist/host.js.map +1 -0
  18. package/dist/index.d.ts +4 -2
  19. package/dist/index.d.ts.map +1 -1
  20. package/dist/index.js +4 -2
  21. package/dist/index.js.map +1 -1
  22. package/dist/server.d.ts +21 -0
  23. package/dist/server.d.ts.map +1 -0
  24. package/dist/server.js +2 -0
  25. package/dist/server.js.map +1 -0
  26. package/dist/version.d.ts +1 -1
  27. package/dist/version.d.ts.map +1 -1
  28. package/dist/version.js +1 -1
  29. package/dist/version.js.map +1 -1
  30. package/package.json +5 -4
  31. package/src/api.ts +270 -5
  32. package/src/diff.ts +59 -0
  33. package/src/engines.ts +31 -0
  34. package/src/facts.ts +6 -0
  35. package/src/host.ts +29 -0
  36. package/src/index.ts +4 -2
  37. package/src/server.ts +65 -0
  38. package/src/surface.json +280 -0
  39. package/src/version.ts +33 -1
  40. package/dist/manifest.d.ts +0 -260
  41. package/dist/manifest.d.ts.map +0 -1
  42. package/dist/manifest.js +0 -136
  43. package/dist/manifest.js.map +0 -1
  44. package/dist/permissions.d.ts +0 -2
  45. package/dist/permissions.d.ts.map +0 -1
  46. package/dist/permissions.js +0 -21
  47. package/dist/permissions.js.map +0 -1
  48. package/src/manifest.ts +0 -275
  49. package/src/permissions.ts +0 -36
package/README.md CHANGED
@@ -1,33 +1,69 @@
1
1
  # @intentic/extension-api
2
2
 
3
- The **extension-author contract** for the intentic app — the one SDK an extension programs against, and the
4
- only package (with `@intentic/extension-ui`) an extension is allowed to depend on besides
5
- `@intentic/sandbox-contract`. Published to npm; it must stay free of app internals and must **not** pull in
6
- `@intentic/sandbox-contract` (that would invert the boundary). See the extension system in
7
- [ARCHITECTURE.md](../../ARCHITECTURE.md) for how the host loads and gates extensions.
3
+ The one SDK an extension programs against — the extension-author contract for the intentic app.
4
+
5
+ One of the packages an extension may depend on, with `@intentic/extension-manifest`,
6
+ `@intentic/extension-ui` and `@intentic/sandbox-contract`. Published to npm; it must stay free of app
7
+ internals. See the extension system in [ARCHITECTURE.md](../../ARCHITECTURE.md) for how the host loads and
8
+ gates extensions.
9
+
10
+ It **does** name `@intentic/sandbox-contract` types, and that is deliberate: `api.sandbox.rpc` is the daemon's
11
+ own contract as a typed client, which is the whole reason an extension no longer has to build a URL to reach
12
+ it. The dependency is type-only, so nothing of the contract lands in an extension's runtime. This used to be
13
+ forbidden — the contract imported the manifest schema from here, so depending back would have closed a cycle.
14
+ `@intentic/extension-manifest` exists to break exactly that, and its README has the reasoning.
8
15
 
9
16
  ## What's here
10
17
 
11
- - **[manifest.ts](src/manifest.ts)** — the `intentic-extension.json` schema. The manifest is the **approval
12
- + gating surface**: the install dialog shows exactly the declared contribution points, and the host
13
- refuses any runtime registration (view, command, viewer, setting, process…) the approved manifest never
14
- declared. Contribution points: `views`, `viewers`, `documents`, `commands`, `settings`, `processes`,
15
- `agent`, `environment`, `connectors`, `listener`, `bin`, plus the `permissions.sandbox` route allowlist.
16
- Identity is derived, never declared — `extensionIdOf(manifest) = ${publisher}.${name}`.
17
18
  - **[api.ts](src/api.ts)** — `IntenticApi`, the host surface delivered to `activate(api, context)`. There is
18
19
  no ambient global; everything an extension registers is a `Disposable` pushed onto
19
- `context.subscriptions`, so deactivation unwinds it.
20
+ `context.subscriptions`, so deactivation unwinds it. `api.sandbox.rpc` is the typed daemon client, gated by
21
+ the manifest's `permissions.sandbox` allowlist exactly as the older `request`/`json` doors are.
22
+ - **The manifest schema lives in [@intentic/extension-manifest](../extension-manifest)**, not here — it is what
23
+ an extension *declares*, and the daemon needs it without needing any of this package. The manifest is the
24
+ **approval + gating surface**: the install dialog shows exactly the declared contribution points, and the host
25
+ refuses any runtime registration (view, command, viewer, setting, process…) the approved manifest never
26
+ declared. Contribution points: `views`, `files`, `viewers`, `documents`, `commands`, `settings`,
27
+ `processes`, `agent`, `environment`, `capabilities`, `listener`, `automationTemplates`, `bin`, plus the
28
+ `permissions.sandbox` route allowlist. That list is not prose to be kept in sync by hand —
29
+ `surface-guard.test.ts` reads it back out of this file and fails when it stops matching the schema.
30
+ Every one of those points carries its own description, generated out to
31
+ [an authoring schema](https://intentic.dev/intentic-extension.schema.json); point a manifest's `$schema` at
32
+ it and an editor completes the fields, explains what each does, and marks a key nothing declares.
33
+ A `listener` owns both halves of its public vocabulary: labelled event types for daemon validation and the
34
+ source/filter/starter wording a generic automation editor renders. Installing a listener therefore adds a
35
+ configurable automation source without an app release or a second provider table.
36
+ `automationTemplates` is the other half of that bargain: the starting points for a pack's own service —
37
+ trigger, prompt, guard, setup instructions — declared by whoever knows the service rather than written into
38
+ the automations surface. Both fold into one catalogue the daemon serves (`GET /automations/catalog`), which
39
+ is also what `POST /automations` validates against, so the editor cannot offer a trigger the daemon refuses.
40
+ Identity is derived, never declared — `extensionIdOf(manifest) = ${publisher}.${name}`.
20
41
  - **[facts.ts](src/facts.ts)** — the stable **detection** vocabulary (`RepoFacts`, `CapabilityFacts`) a
21
42
  view's `detect()` reads to decide when to activate. This is *not* the data plane.
43
+ - **[server.ts](src/server.ts)** — `ExtensionServerApi`, the BACKEND half's surface. A manifest `server`
44
+ bundle exports `activateServer(api, context)` and runs in the daemon's backend host (one separate
45
+ supervised process shared by every enabled backend); `api.routes.mount` serves the extension's own
46
+ `/x/<id>/…` namespace, `api.daemon.request/json` reaches the daemon's routes under the manifest's
47
+ `permissions.daemon` allowlist, and workspace files are plain `node:fs` under `api.workspaceRoot` — full
48
+ trust, so paths rather than a file service. The extension's own namespace needs no `permissions.sandbox`
49
+ entry on the UI side: its backend is its own.
22
50
 
23
51
  Three surfaces, at three different grains, and the grain is what picks one. A **view** activates per *repo*
24
52
  off the facts (`rail`, `directory`, `sandbox`). A **viewer** takes over a *file extension*. A **document**
25
53
  answers per *directory* — `detect(path)` marks the rows it can explain in the Workspace tree, and the host
26
54
  opens the provider's component as a tab beside the code. A monorepo is one repo with fifty-five documented
27
- packages, which is exactly the case a per-repo `detect()` cannot express.
55
+ packages, which is exactly the case a per-repo `detect()` cannot express. An offer that is EVIDENCE about the
56
+ directory rather than an affordance every directory of its kind has says so (`evidence: true`), and the tree
57
+ keeps its icon on the row instead of revealing it on hover — the difference between a reader seeing which
58
+ packages have a page and a reader having to go looking for one.
28
59
  - **[stream.ts](src/stream.ts)**, **[version.ts](src/version.ts)** — SSE/ndjson helpers and the host API
29
60
  version (`engines.intentic` is checked against it before activation).
30
61
 
62
+ Version 2 makes listener contributions self-describing (`events` + `automation`); version 1 listeners only
63
+ declared bare event ids and cannot describe a generic editor. Version 2.1 adds the backend half — the
64
+ manifest `server` bundle and `permissions.daemon` — additively: a 2.0 manifest is a 2.1 manifest that ships
65
+ no backend.
66
+
31
67
  ## The data plane
32
68
 
33
69
  An extension talks to the daemon over `api.sandbox.request/json(path)` — an authenticated transport (auth is
@@ -42,3 +78,17 @@ separate "stable data API" to promote. `facts.ts` stays the stable surface only
42
78
  `activate(api, context)` registers contributions and returns; `deactivate` is optional. A UI extension also
43
79
  ships a prebuilt single-file ESM `entry` bundle (built with `vue` and `@intentic/extension-api` external).
44
80
  The five UI extensions under [`_extensions/`](../../_extensions) are the working templates; start from one.
81
+
82
+ ## Key files
83
+
84
+ - [src/api.ts](src/api.ts) — the handle an extension is given; the centre of this package.
85
+ - [src/facts.ts](src/facts.ts) — the public facts a view's `detect()` answers from.
86
+ - [src/engines.ts](src/engines.ts) — how `engines.intentic` is matched against the version below, for the host
87
+ and the daemon alike.
88
+ - [src/route.ts](src/route.ts) — the query rules a view with internal navigation uses.
89
+ - [src/version.ts](src/version.ts) and [src/surface.json](src/surface.json) — the protocol version, and what
90
+ each version of it promised.
91
+
92
+ The manifest schema and the `permissions.sandbox` matcher are **not here** — they moved to
93
+ [@intentic/extension-manifest](../extension-manifest), which exists so the daemon can read a manifest without
94
+ depending on the browser-facing API.
package/dist/api.d.ts CHANGED
@@ -1,4 +1,7 @@
1
+ import type { sandboxContract } from "@intentic/sandbox-contract";
2
+ import type { ContractRouterClient } from "@orpc/contract";
1
3
  import type { Component } from "vue";
4
+ import type { DiffPayload } from "./diff.js";
2
5
  import type { CapabilityFacts, RepoFacts } from "./facts.js";
3
6
  export interface Disposable {
4
7
  dispose(): void;
@@ -13,15 +16,22 @@ export interface Activation {
13
16
  export interface ViewBadge {
14
17
  readonly count?: number | undefined;
15
18
  readonly mark?: string | undefined;
16
- readonly tone?: "info" | "warning" | "danger" | undefined;
19
+ readonly tone?: "neutral" | "info" | "warning" | "danger" | undefined;
17
20
  readonly tooltip?: string | undefined;
18
21
  }
22
+ export interface HostQuery<T = unknown> {
23
+ readonly queryKey: readonly unknown[];
24
+ readonly queryFn: () => Promise<T>;
25
+ readonly staleTime?: number | undefined;
26
+ readonly gcTime?: number | undefined;
27
+ }
19
28
  export interface ViewRegistration {
20
29
  readonly id: string;
21
30
  readonly label: string;
22
31
  readonly surface: "rail" | "directory" | "sandbox";
23
32
  readonly detect: (repos: readonly RepoFacts[], capabilities: readonly CapabilityFacts[]) => Activation[];
24
33
  readonly badge?: ((activation: Activation) => ViewBadge | undefined) | undefined;
34
+ readonly warm?: (() => readonly HostQuery[]) | undefined;
25
35
  readonly fallback?: true | undefined;
26
36
  readonly auxiliary?: true | undefined;
27
37
  readonly view: () => Promise<Component>;
@@ -34,12 +44,21 @@ export interface DocumentOffer {
34
44
  readonly icon: string;
35
45
  readonly tooltip: string;
36
46
  readonly title: string;
47
+ readonly evidence?: boolean;
37
48
  }
38
49
  export interface DocumentProviderRegistration {
39
50
  readonly id: string;
40
51
  readonly detect: (path: string) => DocumentOffer | undefined;
41
52
  readonly view: () => Promise<Component>;
42
53
  }
54
+ export interface PickedModel {
55
+ readonly provider: string;
56
+ readonly model: string;
57
+ readonly label: string;
58
+ readonly account?: string | undefined;
59
+ readonly accountLabel?: string | undefined;
60
+ readonly harness?: string | undefined;
61
+ }
43
62
  export type SettingValue = string | number | boolean;
44
63
  export interface ProcessStatus {
45
64
  readonly name: string;
@@ -57,6 +76,7 @@ export interface IntenticApi {
57
76
  };
58
77
  readonly documents: {
59
78
  register(provider: DocumentProviderRegistration): Disposable;
79
+ open(id: string, path: string): void;
60
80
  };
61
81
  readonly commands: {
62
82
  register(command: string, handler: (...args: unknown[]) => unknown): Disposable;
@@ -68,16 +88,25 @@ export interface IntenticApi {
68
88
  onDidChange(listener: (key: string) => void): Disposable;
69
89
  };
70
90
  readonly sandbox: {
91
+ readonly rpc: ContractRouterClient<typeof sandboxContract>;
71
92
  request(path: string, init?: RequestInit): Promise<Response>;
72
93
  json<T>(path: string, init?: RequestInit): Promise<T>;
94
+ fetch<T>(query: HostQuery<T>): Promise<T>;
73
95
  reachable(): boolean;
74
96
  key(...parts: readonly string[]): readonly unknown[];
75
97
  origin(): string | undefined;
98
+ role(): "owner" | "maintainer" | "collaborator" | "viewer";
76
99
  };
77
100
  readonly workspace: {
78
101
  repos(): readonly RepoFacts[];
79
102
  capabilities(): readonly CapabilityFacts[];
80
103
  onDidChange(listener: () => void): Disposable;
104
+ onDidChangeRefs(listener: (repos: readonly string[]) => void): Disposable;
105
+ openDiff(payload: DiffPayload): void;
106
+ fillDiff(payload: DiffPayload): void;
107
+ file(path: string): Promise<string | undefined>;
108
+ readJson<T>(path: string): Promise<T | undefined>;
109
+ write(path: string, body: string): Promise<void>;
81
110
  };
82
111
  readonly processes: {
83
112
  status(name: string): Promise<ProcessStatus>;
@@ -90,6 +119,24 @@ export interface IntenticApi {
90
119
  };
91
120
  readonly chat: {
92
121
  openSession(sessionId: string): void;
122
+ composeWorkflow(workflowId: string): void;
123
+ composeLoop(loopId: string): void;
124
+ };
125
+ readonly models: {
126
+ agentRun(): PickedModel;
127
+ describe(selection: {
128
+ readonly provider: string;
129
+ readonly model: string;
130
+ readonly account?: string | undefined;
131
+ readonly harness?: string | undefined;
132
+ }): PickedModel;
133
+ pick(options: {
134
+ readonly anchor: HTMLElement;
135
+ readonly provider: string;
136
+ readonly model: string;
137
+ readonly account?: string | undefined;
138
+ readonly harness?: string | undefined;
139
+ }): Promise<PickedModel | undefined>;
93
140
  };
94
141
  readonly navigate: (path: string) => void;
95
142
  readonly route: {
package/dist/api.d.ts.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"api.d.ts","sourceRoot":"","sources":["../src/api.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"api.d.ts","sourceRoot":"","sources":["../src/api.ts"],"names":[],"mappings":"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"}
package/dist/diff.d.ts ADDED
@@ -0,0 +1,20 @@
1
+ export type ChangeStatus = "added" | "modified" | "deleted" | "renamed" | "type-changed" | "conflicted";
2
+ export interface DiffRawSides {
3
+ readonly beforeRaw?: string;
4
+ readonly afterRaw?: string;
5
+ }
6
+ export interface DiffPayload extends DiffRawSides {
7
+ readonly key: string;
8
+ readonly scope: string;
9
+ readonly label: string;
10
+ readonly status: ChangeStatus;
11
+ readonly path: string;
12
+ readonly before?: string;
13
+ readonly after?: string;
14
+ readonly binary?: boolean;
15
+ readonly truncated?: boolean;
16
+ readonly additions?: number;
17
+ readonly deletions?: number;
18
+ readonly pending?: boolean;
19
+ }
20
+ //# sourceMappingURL=diff.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"diff.d.ts","sourceRoot":"","sources":["../src/diff.ts"],"names":[],"mappings":"AAcA,MAAM,MAAM,YAAY,GAAG,OAAO,GAAG,UAAU,GAAG,SAAS,GAAG,SAAS,GAAG,cAAc,GAAG,YAAY,CAAC;AAMxG,MAAM,WAAW,YAAY;IACzB,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;CAC9B;AAED,MAAM,WAAW,WAAY,SAAQ,YAAY;IAK7C,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IAErB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IAEvB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,MAAM,EAAE,YAAY,CAAC;IAC9B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IAGtB,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,MAAM,CAAC,EAAE,OAAO,CAAC;IAC1B,QAAQ,CAAC,SAAS,CAAC,EAAE,OAAO,CAAC;IAI7B,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAU5B,QAAQ,CAAC,OAAO,CAAC,EAAE,OAAO,CAAC;CAC9B"}
package/dist/diff.js ADDED
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=diff.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"diff.js","sourceRoot":"","sources":["../src/diff.ts"],"names":[],"mappings":""}
@@ -0,0 +1,2 @@
1
+ export declare const satisfiesEngines: (range: string, version: string) => boolean;
2
+ //# sourceMappingURL=engines.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"engines.d.ts","sourceRoot":"","sources":["../src/engines.ts"],"names":[],"mappings":"AAaA,eAAO,MAAM,gBAAgB,UAAW,MAAM,WAAW,MAAM,KAAG,OAiBjE,CAAC"}
@@ -0,0 +1,26 @@
1
+ const parse = (value) => {
2
+ const match = /^(\d+)(?:\.(\d+))?(?:\.(\d+))?$/.exec(value.trim());
3
+ if (match === null) {
4
+ return undefined;
5
+ }
6
+ return [Number(match[1]), Number(match[2] ?? 0), Number(match[3] ?? 0)];
7
+ };
8
+ export const satisfiesEngines = (range, version) => {
9
+ const host = parse(version);
10
+ const caret = range.trim().startsWith(`^`);
11
+ const floor = parse(caret ? range.trim().slice(1) : range);
12
+ if (host === undefined || floor === undefined) {
13
+ return false;
14
+ }
15
+ if (!caret) {
16
+ return host[0] === floor[0] && host[1] === floor[1] && host[2] === floor[2];
17
+ }
18
+ if (host[0] !== floor[0] || (floor[0] === 0 && host[1] !== floor[1])) {
19
+ return false;
20
+ }
21
+ if (host[1] !== floor[1]) {
22
+ return host[1] > floor[1];
23
+ }
24
+ return host[2] >= floor[2];
25
+ };
26
+ //# sourceMappingURL=engines.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"engines.js","sourceRoot":"","sources":["../src/engines.ts"],"names":[],"mappings":"AAKA,MAAM,KAAK,GAAG,CAAC,KAAa,EAAwC,EAAE;IAClE,MAAM,KAAK,GAAG,iCAAiC,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC;IACnE,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;QACjB,OAAO,SAAS,CAAC;IACrB,CAAC;IACD,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAC5E,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,KAAa,EAAE,OAAe,EAAW,EAAE;IACxE,MAAM,IAAI,GAAG,KAAK,CAAC,OAAO,CAAC,CAAC;IAC5B,MAAM,KAAK,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;IAC3C,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;IAC3D,IAAI,IAAI,KAAK,SAAS,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;QAC5C,OAAO,KAAK,CAAC;IACjB,CAAC;IACD,IAAI,CAAC,KAAK,EAAE,CAAC;QACT,OAAO,IAAI,CAAC,CAAC,CAAC,KAAK,KAAK,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,KAAK,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC;IAChF,CAAC;IACD,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QACnE,OAAO,KAAK,CAAC;IACjB,CAAC;IACD,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;QACvB,OAAO,IAAI,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;IAC9B,CAAC;IACD,OAAO,IAAI,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC;AAC/B,CAAC,CAAC"}
package/dist/facts.d.ts CHANGED
@@ -8,6 +8,7 @@ export interface RepoFacts {
8
8
  readonly monorepo: boolean;
9
9
  readonly vitest: boolean;
10
10
  readonly userStories: boolean;
11
+ readonly docs: boolean;
11
12
  }
12
13
  export interface CapabilityFacts {
13
14
  readonly id: string;
@@ -1 +1 @@
1
- {"version":3,"file":"facts.d.ts","sourceRoot":"","sources":["../src/facts.ts"],"names":[],"mappings":"AAcA,MAAM,WAAW,SAAS;IACtB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IAEtB,QAAQ,CAAC,IAAI,CAAC,EAAE,QAAQ,GAAG,eAAe,GAAG,KAAK,GAAG,SAAS,CAAC;IAE/D,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC;IAC3B,QAAQ,CAAC,YAAY,EAAE,OAAO,CAAC;IAC/B,QAAQ,CAAC,YAAY,EAAE,OAAO,CAAC;IAC/B,QAAQ,CAAC,WAAW,EAAE,OAAO,CAAC;IAC9B,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC;IAC3B,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC;IAGzB,QAAQ,CAAC,WAAW,EAAE,OAAO,CAAC;CACjC;AAID,MAAM,WAAW,eAAe;IAC5B,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,MAAM,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC,CAAC,CAAC;CACxE"}
1
+ {"version":3,"file":"facts.d.ts","sourceRoot":"","sources":["../src/facts.ts"],"names":[],"mappings":"AAcA,MAAM,WAAW,SAAS;IACtB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IAEtB,QAAQ,CAAC,IAAI,CAAC,EAAE,QAAQ,GAAG,eAAe,GAAG,KAAK,GAAG,SAAS,CAAC;IAE/D,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC;IAC3B,QAAQ,CAAC,YAAY,EAAE,OAAO,CAAC;IAC/B,QAAQ,CAAC,YAAY,EAAE,OAAO,CAAC;IAC/B,QAAQ,CAAC,WAAW,EAAE,OAAO,CAAC;IAC9B,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC;IAC3B,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC;IAGzB,QAAQ,CAAC,WAAW,EAAE,OAAO,CAAC;IAM9B,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC;CAC1B;AAID,MAAM,WAAW,eAAe;IAC5B,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,MAAM,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC,CAAC,CAAC;CACxE"}
package/dist/host.d.ts ADDED
@@ -0,0 +1,6 @@
1
+ import type { IntenticApi } from "./api.js";
2
+ export declare const hostSlot: (extension: string) => {
3
+ bindHost: (api: IntenticApi) => void;
4
+ host: () => IntenticApi;
5
+ };
6
+ //# sourceMappingURL=host.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"host.d.ts","sourceRoot":"","sources":["../src/host.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AAe5C,eAAO,MAAM,QAAQ,cAAe,MAAM,KAAG;IAAE,QAAQ,EAAE,CAAC,GAAG,EAAE,WAAW,KAAK,IAAI,CAAC;IAAC,IAAI,EAAE,MAAM,WAAW,CAAA;CAa3G,CAAC"}
package/dist/host.js ADDED
@@ -0,0 +1,15 @@
1
+ export const hostSlot = (extension) => {
2
+ let current;
3
+ return {
4
+ bindHost: (api) => {
5
+ current = api;
6
+ },
7
+ host: () => {
8
+ if (current === undefined) {
9
+ throw new Error(`${extension}: host() called before activate()`);
10
+ }
11
+ return current;
12
+ },
13
+ };
14
+ };
15
+ //# sourceMappingURL=host.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"host.js","sourceRoot":"","sources":["../src/host.ts"],"names":[],"mappings":"AAeA,MAAM,CAAC,MAAM,QAAQ,GAAG,CAAC,SAAiB,EAAqE,EAAE;IAC7G,IAAI,OAAgC,CAAC;IACrC,OAAO;QACH,QAAQ,EAAE,CAAC,GAAG,EAAE,EAAE;YACd,OAAO,GAAG,GAAG,CAAC;QAClB,CAAC;QACD,IAAI,EAAE,GAAG,EAAE;YACP,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;gBACxB,MAAM,IAAI,KAAK,CAAC,GAAG,SAAS,mCAAmC,CAAC,CAAC;YACrE,CAAC;YACD,OAAO,OAAO,CAAC;QACnB,CAAC;KACJ,CAAC;AACN,CAAC,CAAC"}
package/dist/index.d.ts CHANGED
@@ -1,8 +1,10 @@
1
1
  export * from "./api.js";
2
+ export * from "./diff.js";
3
+ export * from "./engines.js";
2
4
  export * from "./facts.js";
3
- export * from "./manifest.js";
4
- export * from "./permissions.js";
5
+ export * from "./host.js";
5
6
  export * from "./route.js";
7
+ export * from "./server.js";
6
8
  export * from "./stream.js";
7
9
  export * from "./version.js";
8
10
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,UAAU,CAAC;AACzB,cAAc,YAAY,CAAC;AAC3B,cAAc,eAAe,CAAC;AAC9B,cAAc,kBAAkB,CAAC;AACjC,cAAc,YAAY,CAAC;AAC3B,cAAc,aAAa,CAAC;AAC5B,cAAc,cAAc,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,UAAU,CAAC;AACzB,cAAc,WAAW,CAAC;AAC1B,cAAc,cAAc,CAAC;AAC7B,cAAc,YAAY,CAAC;AAC3B,cAAc,WAAW,CAAC;AAC1B,cAAc,YAAY,CAAC;AAC3B,cAAc,aAAa,CAAC;AAC5B,cAAc,aAAa,CAAC;AAC5B,cAAc,cAAc,CAAC"}
package/dist/index.js CHANGED
@@ -1,8 +1,10 @@
1
1
  export * from "./api.js";
2
+ export * from "./diff.js";
3
+ export * from "./engines.js";
2
4
  export * from "./facts.js";
3
- export * from "./manifest.js";
4
- export * from "./permissions.js";
5
+ export * from "./host.js";
5
6
  export * from "./route.js";
7
+ export * from "./server.js";
6
8
  export * from "./stream.js";
7
9
  export * from "./version.js";
8
10
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,UAAU,CAAC;AACzB,cAAc,YAAY,CAAC;AAC3B,cAAc,eAAe,CAAC;AAC9B,cAAc,kBAAkB,CAAC;AACjC,cAAc,YAAY,CAAC;AAC3B,cAAc,aAAa,CAAC;AAC5B,cAAc,cAAc,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,UAAU,CAAC;AACzB,cAAc,WAAW,CAAC;AAC1B,cAAc,cAAc,CAAC;AAC7B,cAAc,YAAY,CAAC;AAC3B,cAAc,WAAW,CAAC;AAC1B,cAAc,YAAY,CAAC;AAC3B,cAAc,aAAa,CAAC;AAC5B,cAAc,aAAa,CAAC;AAC5B,cAAc,cAAc,CAAC"}
@@ -0,0 +1,21 @@
1
+ export type BackendRouteHandler = (request: Request) => Promise<Response | undefined>;
2
+ export interface ExtensionServerApi {
3
+ readonly apiVersion: string;
4
+ readonly workspaceRoot: string;
5
+ readonly extensionDir: string;
6
+ readonly log: (message: string) => void;
7
+ readonly routes: {
8
+ mount(handler: BackendRouteHandler): void;
9
+ };
10
+ readonly daemon: {
11
+ request(path: string, init?: RequestInit): Promise<Response>;
12
+ json<T>(path: string, init?: RequestInit): Promise<T>;
13
+ };
14
+ }
15
+ export interface ExtensionServerContext {
16
+ readonly extensionId: string;
17
+ }
18
+ export interface ExtensionServerModule {
19
+ activateServer(api: ExtensionServerApi, context: ExtensionServerContext): void | Promise<void>;
20
+ }
21
+ //# sourceMappingURL=server.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"AAoBA,MAAM,MAAM,mBAAmB,GAAG,CAAC,OAAO,EAAE,OAAO,KAAK,OAAO,CAAC,QAAQ,GAAG,SAAS,CAAC,CAAC;AAEtF,MAAM,WAAW,kBAAkB;IAE/B,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAK5B,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;IAE/B,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAE9B,QAAQ,CAAC,GAAG,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;IACxC,QAAQ,CAAC,MAAM,EAAE;QAMb,KAAK,CAAC,OAAO,EAAE,mBAAmB,GAAG,IAAI,CAAC;KAC7C,CAAC;IAMF,QAAQ,CAAC,MAAM,EAAE;QACb,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC;QAC7D,IAAI,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;KACzD,CAAC;CACL;AAED,MAAM,WAAW,sBAAsB;IAGnC,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;CAChC;AAKD,MAAM,WAAW,qBAAqB;IAClC,cAAc,CAAC,GAAG,EAAE,kBAAkB,EAAE,OAAO,EAAE,sBAAsB,GAAG,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CAClG"}
package/dist/server.js ADDED
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=server.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"server.js","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":""}
package/dist/version.d.ts CHANGED
@@ -1,2 +1,2 @@
1
- export declare const extensionApiVersion = "0.4.0";
1
+ export declare const extensionApiVersion = "2.5.0";
2
2
  //# sourceMappingURL=version.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"version.d.ts","sourceRoot":"","sources":["../src/version.ts"],"names":[],"mappings":"AAGA,eAAO,MAAM,mBAAmB,UAAU,CAAC"}
1
+ {"version":3,"file":"version.d.ts","sourceRoot":"","sources":["../src/version.ts"],"names":[],"mappings":"AAmCA,eAAO,MAAM,mBAAmB,UAAU,CAAC"}
package/dist/version.js CHANGED
@@ -1,2 +1,2 @@
1
- export const extensionApiVersion = "0.4.0";
1
+ export const extensionApiVersion = "2.5.0";
2
2
  //# sourceMappingURL=version.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"version.js","sourceRoot":"","sources":["../src/version.ts"],"names":[],"mappings":"AAGA,MAAM,CAAC,MAAM,mBAAmB,GAAG,OAAO,CAAC"}
1
+ {"version":3,"file":"version.js","sourceRoot":"","sources":["../src/version.ts"],"names":[],"mappings":"AAmCA,MAAM,CAAC,MAAM,mBAAmB,GAAG,OAAO,CAAC"}
package/package.json CHANGED
@@ -1,13 +1,13 @@
1
1
  {
2
2
  "name": "@intentic/extension-api",
3
- "version": "1.176.3",
3
+ "version": "1.209.1",
4
4
  "description": "The versioned public API intentic extensions compile against — manifest schema, detection facts and the host API",
5
5
  "license": "MIT",
6
6
  "type": "module",
7
7
  "repository": {
8
8
  "type": "git",
9
- "url": "git+https://gitlab.com/radarsu/intentic.git",
10
- "directory": "_libs/extension-api"
9
+ "url": "git+https://github.com/intentic/intentic.git",
10
+ "directory": "_sandbox/extension-api"
11
11
  },
12
12
  "files": [
13
13
  "dist",
@@ -31,8 +31,9 @@
31
31
  }
32
32
  },
33
33
  "dependencies": {
34
+ "@orpc/contract": "1.14.13",
34
35
  "tslib": "2.8.1",
35
- "zod": "4.4.3"
36
+ "@intentic/sandbox-contract": "1.209.1"
36
37
  },
37
38
  "peerDependencies": {
38
39
  "vue": "3"