@harnessforce/semconv 0.0.0-stage → 0.1.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/LICENSE +201 -0
- package/README.md +105 -2
- package/dist/attributes.d.ts +23 -0
- package/dist/attributes.js +28 -0
- package/dist/attributes.js.map +1 -0
- package/dist/index.d.ts +182 -0
- package/dist/index.js +28 -0
- package/dist/index.js.map +1 -0
- package/dist/redaction.d.ts +25 -0
- package/dist/redaction.js +70 -0
- package/dist/redaction.js.map +1 -0
- package/dist/repository.d.ts +1 -0
- package/dist/repository.js +46 -0
- package/dist/repository.js.map +1 -0
- package/dist/schemas/analysis-report.d.ts +47 -0
- package/dist/schemas/analysis-report.js +87 -0
- package/dist/schemas/analysis-report.js.map +1 -0
- package/dist/schemas/common.d.ts +14 -0
- package/dist/schemas/common.js +33 -0
- package/dist/schemas/common.js.map +1 -0
- package/dist/schemas/config-snapshot.d.ts +15 -0
- package/dist/schemas/config-snapshot.js +36 -0
- package/dist/schemas/config-snapshot.js.map +1 -0
- package/dist/schemas/ingest-items.d.ts +36 -0
- package/dist/schemas/ingest-items.js +73 -0
- package/dist/schemas/ingest-items.js.map +1 -0
- package/dist/schemas/session-import.d.ts +23 -0
- package/dist/schemas/session-import.js +15 -0
- package/dist/schemas/session-import.js.map +1 -0
- package/dist/schemas/session-registration.d.ts +25 -0
- package/dist/schemas/session-registration.js +19 -0
- package/dist/schemas/session-registration.js.map +1 -0
- package/dist/schemas/session-usage-summary.d.ts +57 -0
- package/dist/schemas/session-usage-summary.js +32 -0
- package/dist/schemas/session-usage-summary.js.map +1 -0
- package/dist/values.d.ts +4 -0
- package/dist/values.js +52 -0
- package/dist/values.js.map +1 -0
- package/package.json +53 -3
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
import { type Static } from "@sinclair/typebox";
|
|
2
|
+
export declare const SessionUsageSummarySchema: import("@sinclair/typebox").TObject<{
|
|
3
|
+
agent: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TLiteral<"claude_code">, import("@sinclair/typebox").TLiteral<"codex">]>;
|
|
4
|
+
session_id: import("@sinclair/typebox").TString;
|
|
5
|
+
first_prompt_id: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
|
|
6
|
+
started_at: import("@sinclair/typebox").TString;
|
|
7
|
+
last_event_at: import("@sinclair/typebox").TString;
|
|
8
|
+
collector_version: import("@sinclair/typebox").TString;
|
|
9
|
+
skills: import("@sinclair/typebox").TObject<{
|
|
10
|
+
items: import("@sinclair/typebox").TArray<import("@sinclair/typebox").TObject<{
|
|
11
|
+
name: import("@sinclair/typebox").TString;
|
|
12
|
+
calls: import("@sinclair/typebox").TInteger;
|
|
13
|
+
failures: import("@sinclair/typebox").TInteger;
|
|
14
|
+
}>>;
|
|
15
|
+
other: import("@sinclair/typebox").TObject<{
|
|
16
|
+
calls: import("@sinclair/typebox").TInteger;
|
|
17
|
+
failures: import("@sinclair/typebox").TInteger;
|
|
18
|
+
}>;
|
|
19
|
+
}>;
|
|
20
|
+
commands: import("@sinclair/typebox").TObject<{
|
|
21
|
+
items: import("@sinclair/typebox").TArray<import("@sinclair/typebox").TObject<{
|
|
22
|
+
name: import("@sinclair/typebox").TString;
|
|
23
|
+
calls: import("@sinclair/typebox").TInteger;
|
|
24
|
+
}>>;
|
|
25
|
+
other: import("@sinclair/typebox").TObject<{
|
|
26
|
+
calls: import("@sinclair/typebox").TInteger;
|
|
27
|
+
}>;
|
|
28
|
+
}>;
|
|
29
|
+
subagents: import("@sinclair/typebox").TObject<{
|
|
30
|
+
items: import("@sinclair/typebox").TArray<import("@sinclair/typebox").TObject<{
|
|
31
|
+
name: import("@sinclair/typebox").TString;
|
|
32
|
+
calls: import("@sinclair/typebox").TInteger;
|
|
33
|
+
failures: import("@sinclair/typebox").TInteger;
|
|
34
|
+
}>>;
|
|
35
|
+
other: import("@sinclair/typebox").TObject<{
|
|
36
|
+
calls: import("@sinclair/typebox").TInteger;
|
|
37
|
+
failures: import("@sinclair/typebox").TInteger;
|
|
38
|
+
}>;
|
|
39
|
+
}>;
|
|
40
|
+
mcp_servers: import("@sinclair/typebox").TObject<{
|
|
41
|
+
items: import("@sinclair/typebox").TArray<import("@sinclair/typebox").TObject<{
|
|
42
|
+
name: import("@sinclair/typebox").TString;
|
|
43
|
+
calls: import("@sinclair/typebox").TInteger;
|
|
44
|
+
failures: import("@sinclair/typebox").TInteger;
|
|
45
|
+
}>>;
|
|
46
|
+
other: import("@sinclair/typebox").TObject<{
|
|
47
|
+
calls: import("@sinclair/typebox").TInteger;
|
|
48
|
+
failures: import("@sinclair/typebox").TInteger;
|
|
49
|
+
}>;
|
|
50
|
+
}>;
|
|
51
|
+
permission_requests: import("@sinclair/typebox").TInteger;
|
|
52
|
+
compactions: import("@sinclair/typebox").TObject<{
|
|
53
|
+
auto: import("@sinclair/typebox").TInteger;
|
|
54
|
+
manual: import("@sinclair/typebox").TInteger;
|
|
55
|
+
}>;
|
|
56
|
+
}>;
|
|
57
|
+
export type SessionUsageSummary = Static<typeof SessionUsageSummarySchema>;
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import { Type } from "@sinclair/typebox";
|
|
2
|
+
import { Agent, Count, closed, Instant, SemVer, schemaId, Token, } from "./common.js";
|
|
3
|
+
const Calls = Type.Integer({ minimum: 1 });
|
|
4
|
+
// semantic-conventions.md「Session usage summary」: 1つの一覧のitemsの上限。残りはotherへ加える。
|
|
5
|
+
const limited = { maxItems: 200 };
|
|
6
|
+
// skills、subagents、mcp_serversの一覧。
|
|
7
|
+
const CallList = Type.Object({
|
|
8
|
+
items: Type.Array(Type.Object({ name: Token(), calls: Calls, failures: Count }, closed), limited),
|
|
9
|
+
other: Type.Object({ calls: Count, failures: Count }, closed),
|
|
10
|
+
}, closed);
|
|
11
|
+
// commandの展開には失敗の記録が無いため、0と数えた失敗を持たない。
|
|
12
|
+
const CommandList = Type.Object({
|
|
13
|
+
items: Type.Array(Type.Object({ name: Token(), calls: Calls }, closed), limited),
|
|
14
|
+
other: Type.Object({ calls: Count }, closed),
|
|
15
|
+
}, closed);
|
|
16
|
+
// itemsのnameの重複、failuresがcallsを超える値、started_atがlast_event_atより後の値もschema違反だが、
|
|
17
|
+
// JSON Schemaでは表せないため、受け取る側が別に確かめる。
|
|
18
|
+
export const SessionUsageSummarySchema = Type.Object({
|
|
19
|
+
agent: Agent,
|
|
20
|
+
session_id: Token(),
|
|
21
|
+
first_prompt_id: Type.Optional(Token()),
|
|
22
|
+
started_at: Instant,
|
|
23
|
+
last_event_at: Instant,
|
|
24
|
+
collector_version: SemVer,
|
|
25
|
+
skills: CallList,
|
|
26
|
+
commands: CommandList,
|
|
27
|
+
subagents: CallList,
|
|
28
|
+
mcp_servers: CallList,
|
|
29
|
+
permission_requests: Count,
|
|
30
|
+
compactions: Type.Object({ auto: Count, manual: Count }, closed),
|
|
31
|
+
}, { $id: schemaId("session-usage-summary"), ...closed });
|
|
32
|
+
//# sourceMappingURL=session-usage-summary.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"session-usage-summary.js","sourceRoot":"","sources":["../../src/schemas/session-usage-summary.ts"],"names":[],"mappings":"AAAA,OAAO,EAAe,IAAI,EAAE,MAAM,mBAAmB,CAAC;AACtD,OAAO,EACN,KAAK,EACL,KAAK,EACL,MAAM,EACN,OAAO,EACP,MAAM,EACN,QAAQ,EACR,KAAK,GACL,MAAM,aAAa,CAAC;AAErB,MAAM,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC,CAAC;AAC3C,+EAA+E;AAC/E,MAAM,OAAO,GAAG,EAAE,QAAQ,EAAE,GAAG,EAAE,CAAC;AAElC,mCAAmC;AACnC,MAAM,QAAQ,GAAG,IAAI,CAAC,MAAM,CAC3B;IACC,KAAK,EAAE,IAAI,CAAC,KAAK,CAChB,IAAI,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,EAAE,MAAM,CAAC,EACrE,OAAO,CACP;IACD,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,EAAE,MAAM,CAAC;CAC7D,EACD,MAAM,CACN,CAAC;AAEF,uCAAuC;AACvC,MAAM,WAAW,GAAG,IAAI,CAAC,MAAM,CAC9B;IACC,KAAK,EAAE,IAAI,CAAC,KAAK,CAChB,IAAI,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,MAAM,CAAC,EACpD,OAAO,CACP;IACD,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,MAAM,CAAC;CAC5C,EACD,MAAM,CACN,CAAC;AAEF,8EAA8E;AAC9E,oCAAoC;AACpC,MAAM,CAAC,MAAM,yBAAyB,GAAG,IAAI,CAAC,MAAM,CACnD;IACC,KAAK,EAAE,KAAK;IACZ,UAAU,EAAE,KAAK,EAAE;IACnB,eAAe,EAAE,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE,CAAC;IACvC,UAAU,EAAE,OAAO;IACnB,aAAa,EAAE,OAAO;IACtB,iBAAiB,EAAE,MAAM;IACzB,MAAM,EAAE,QAAQ;IAChB,QAAQ,EAAE,WAAW;IACrB,SAAS,EAAE,QAAQ;IACnB,WAAW,EAAE,QAAQ;IACrB,mBAAmB,EAAE,KAAK;IAC1B,WAAW,EAAE,IAAI,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,EAAE,MAAM,CAAC;CAChE,EACD,EAAE,GAAG,EAAE,QAAQ,CAAC,uBAAuB,CAAC,EAAE,GAAG,MAAM,EAAE,CACrD,CAAC"}
|
package/dist/values.d.ts
ADDED
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
export declare const TOKEN_PATTERN = "^[^\\t-\\r \\u0085\\u00a0\\u1680\\u2000-\\u200a\\u2028\\u2029\\u202f\\u205f\\u3000]+$";
|
|
2
|
+
export declare const isToken: (value: string, maxLength?: number) => boolean;
|
|
3
|
+
export declare const INSTANT_PATTERN = "^(?:1(?:6(?:7[7-9]|[89]\\d)|[7-9]\\d\\d)|2(?:[01]\\d\\d|2(?:[0-5]\\d|6[0-2])))-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}(?:\\.\\d+)?(?:Z|[+-](?:[01]\\d|2[0-3]):[0-5]\\d)$";
|
|
4
|
+
export declare function isInstant(value: string): boolean;
|
package/dist/values.js
ADDED
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
// schemaの値の形(semantic-conventions.md「値の形」)を、TypeBoxに依存せずに表す。
|
|
2
|
+
// hookのbundleがschemaの実装を読み込まずに使えるよう、schemasから分けて置く。
|
|
3
|
+
// semantic-conventions.md「値の形」のtoken。Unicodeの`White_Space` propertyを持つ文字の一覧であり、JSの\sと違い
|
|
4
|
+
// U+0085を含みU+FEFFを含まない。u flagの有無に依らず同じに解釈されるよう、BMPの文字の範囲だけで書く。
|
|
5
|
+
const WHITE_SPACE = "\\t-\\r \\u0085\\u00a0\\u1680\\u2000-\\u200a\\u2028\\u2029\\u202f\\u205f\\u3000";
|
|
6
|
+
export const TOKEN_PATTERN = `^[^${WHITE_SPACE}]+$`;
|
|
7
|
+
const NO_WHITE_SPACE = new RegExp(TOKEN_PATTERN);
|
|
8
|
+
// Tokenと同じ制約を、schemaをcompileせずに確かめる。文字数はcode pointで数える。
|
|
9
|
+
export const isToken = (value, maxLength = 256) => {
|
|
10
|
+
const length = [...value].length;
|
|
11
|
+
return length >= 1 && length <= maxLength && NO_WHITE_SPACE.test(value);
|
|
12
|
+
};
|
|
13
|
+
// semantic-conventions.md「値の形」のinstant。APIはoffsetの無い日時を受け付けない。format(date-time)だけでは
|
|
14
|
+
// 実装によりoffsetが任意になるため、patternでoffsetの範囲(hhは00〜23、mmは00〜59)と年(1677〜2262)も固定する。
|
|
15
|
+
// JSON Schemaはoffsetを引いた瞬間を比べられないため、境界の年の中の範囲はisInstantが確かめる。
|
|
16
|
+
const INSTANT_YEAR = "(?:1(?:6(?:7[7-9]|[89]\\d)|[7-9]\\d\\d)|2(?:[01]\\d\\d|2(?:[0-5]\\d|6[0-2])))";
|
|
17
|
+
export const INSTANT_PATTERN = `^${INSTANT_YEAR}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}(?:\\.\\d+)?(?:Z|[+-](?:[01]\\d|2[0-3]):[0-5]\\d)$`;
|
|
18
|
+
// INSTANT_PATTERNを通った値から、各部分を取り出す。
|
|
19
|
+
const INSTANT_PARTS = /^(\d{4})-(\d{2})-(\d{2})T(\d{2}):(\d{2}):(\d{2})(?:\.(\d+))?(?:Z|([+-])(\d{2}):(\d{2}))$/;
|
|
20
|
+
const INSTANT = new RegExp(INSTANT_PATTERN);
|
|
21
|
+
// DateTime64(9)で表せる範囲(ClickHouse reference)。両端を含む。
|
|
22
|
+
const MIN_INSTANT_MS = Date.UTC(1677, 8, 21, 0, 12, 44);
|
|
23
|
+
const MAX_INSTANT_MS = Date.UTC(2262, 3, 11, 23, 47, 16);
|
|
24
|
+
// 暦に存在する日時で、offsetを引いた瞬間が範囲内かを確かめる。小数秒は9桁より下を切り捨てて比べる。
|
|
25
|
+
export function isInstant(value) {
|
|
26
|
+
const parts = INSTANT.test(value) ? INSTANT_PARTS.exec(value) : null;
|
|
27
|
+
if (!parts)
|
|
28
|
+
return false;
|
|
29
|
+
const [, ...fields] = parts;
|
|
30
|
+
const [year, month, day, hour, minute, second] = fields
|
|
31
|
+
.slice(0, 6)
|
|
32
|
+
.map(Number);
|
|
33
|
+
const [fraction = "", sign, offsetHours = "0", offsetMinutes = "0"] = fields.slice(6);
|
|
34
|
+
const localMs = Date.UTC(year, month - 1, day, hour, minute, second);
|
|
35
|
+
const local = new Date(localMs);
|
|
36
|
+
const existsInCalendar = local.getUTCFullYear() === year &&
|
|
37
|
+
local.getUTCMonth() === month - 1 &&
|
|
38
|
+
local.getUTCDate() === day &&
|
|
39
|
+
local.getUTCHours() === hour &&
|
|
40
|
+
local.getUTCMinutes() === minute &&
|
|
41
|
+
local.getUTCSeconds() === second;
|
|
42
|
+
if (!existsInCalendar)
|
|
43
|
+
return false;
|
|
44
|
+
const offsetMs = (sign === "-" ? -1 : 1) *
|
|
45
|
+
(Number(offsetHours) * 60 + Number(offsetMinutes)) *
|
|
46
|
+
60_000;
|
|
47
|
+
const secondMs = localMs - offsetMs;
|
|
48
|
+
const nanos = Number(fraction.slice(0, 9) || "0");
|
|
49
|
+
const isAfterMax = secondMs > MAX_INSTANT_MS || (secondMs === MAX_INSTANT_MS && nanos > 0);
|
|
50
|
+
return secondMs >= MIN_INSTANT_MS && !isAfterMax;
|
|
51
|
+
}
|
|
52
|
+
//# sourceMappingURL=values.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"values.js","sourceRoot":"","sources":["../src/values.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,56 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@harnessforce/semconv",
|
|
3
|
-
"version": "0.
|
|
4
|
-
"
|
|
5
|
-
"
|
|
3
|
+
"version": "0.1.0",
|
|
4
|
+
"description": "Harnessforce semantic conventions: hf.* attributes and ingest JSON Schemas",
|
|
5
|
+
"keywords": [
|
|
6
|
+
"harnessforce",
|
|
7
|
+
"opentelemetry",
|
|
8
|
+
"semantic-conventions",
|
|
9
|
+
"json-schema",
|
|
10
|
+
"typebox"
|
|
11
|
+
],
|
|
12
|
+
"license": "Apache-2.0",
|
|
13
|
+
"homepage": "https://github.com/lambda-script/harnessforce-agent/tree/main/packages/semconv#readme",
|
|
14
|
+
"bugs": {
|
|
15
|
+
"url": "https://github.com/lambda-script/harnessforce-agent/issues"
|
|
16
|
+
},
|
|
17
|
+
"type": "module",
|
|
18
|
+
"sideEffects": false,
|
|
19
|
+
"exports": {
|
|
20
|
+
".": {
|
|
21
|
+
"types": "./dist/index.d.ts",
|
|
22
|
+
"default": "./dist/index.js"
|
|
23
|
+
}
|
|
24
|
+
},
|
|
25
|
+
"files": [
|
|
26
|
+
"dist"
|
|
27
|
+
],
|
|
28
|
+
"engines": {
|
|
29
|
+
"node": ">=18"
|
|
30
|
+
},
|
|
31
|
+
"repository": {
|
|
32
|
+
"type": "git",
|
|
33
|
+
"url": "git+https://github.com/lambda-script/harnessforce-agent.git",
|
|
34
|
+
"directory": "packages/semconv"
|
|
35
|
+
},
|
|
36
|
+
"publishConfig": {
|
|
37
|
+
"access": "public",
|
|
38
|
+
"provenance": true
|
|
39
|
+
},
|
|
40
|
+
"dependencies": {
|
|
41
|
+
"@sinclair/typebox": "^0.34.52"
|
|
42
|
+
},
|
|
43
|
+
"devDependencies": {
|
|
44
|
+
"@biomejs/biome": "2.3.14",
|
|
45
|
+
"@types/node": "^22.20.4",
|
|
46
|
+
"typescript": "^7.0.2",
|
|
47
|
+
"vitest": "^4.1.11",
|
|
48
|
+
"@harnessforce/test-support": "0.0.0"
|
|
49
|
+
},
|
|
50
|
+
"scripts": {
|
|
51
|
+
"lint": "biome check .",
|
|
52
|
+
"typecheck": "tsc -p tsconfig.json",
|
|
53
|
+
"test": "vitest run",
|
|
54
|
+
"build": "tsc -p tsconfig.build.json"
|
|
55
|
+
}
|
|
6
56
|
}
|